<div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">  Cool, thanks for figuring this out.</blockquote><div><br></div><div>I still wasn't happy with this .dSYM business so I went ahead and since apparently no one from MCS can answer this ;-) I went ahead and asked Jason Molenda after finding this page:</div>
<div><br></div><div><a href="http://wiki.dwarfstd.org/index.php?title=Apple's_%22Lazy%22_DWARF_Scheme">http://wiki.dwarfstd.org/index.php?title=Apple's_%22Lazy%22_DWARF_Scheme</a></div><div><br></div></div>"I understand why it was chosen to separate debug information from a release but I am still unclear as to why there (or is there a way?) is no option for *force* debug information into the executable? Furthermore, if I am creating a shared/dynamic library and want to properly debug this in my test application, is there any way to force debug symbols into the library? Or am I forced to keep the .o's (or generate .dSYM) around?"<div>
<br></div><div><blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; ">
You're out of luck here.  We're trying to move to a model where the binary that the compiler emits is what goes out the door.  You still need to strip out the non-exported symbols today but maybe some day we can address that as well.  You can create a .dSYM bundle by running dsymutil on the executable while the .o files are still present on the computer and ship the .dSYM bundle along with the shared lib.  I know that's a hassle compared to just sending around a .dylib.</blockquote>
<blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; ">
<br></blockquote><blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; ">
The most common use case for our developers is that the debug info is not shipped out - most programs are distributed without any debug information/symbols; the dSYM and maybe the symbol-rich executable are kept in-house for debugging and analyzing crash reports from the field but that's it.</blockquote>
</div><div><br></div><div>So, bottom line, there is no way to use shared/dynamic libraries that contain debug information. Either use .dSYM / .o's or static libraries. Jason and I had some more dialog about static libraries but since we don't build PETSc universal nor distribute binaries, it's mostly irrelevant.</div>
<div><br></div><div>Hope this finally clears up the issue.</div><div><br></div><div>Sean</div>