Re: No symbols in DSYM file?
Re: No symbols in DSYM file?
- Subject: Re: No symbols in DSYM file?
- From: Rick Altherr <email@hidden>
- Date: Fri, 15 Feb 2008 11:17:09 -0800
On Feb 15, 2008, at 11:08 AM, Antonio Nunes wrote:
Hi,
I have a project set to use DWARF and a separate DSYM file. In other
linker flags I pass -s to strip the product.
Don't do that. Use the Xcode build options for stripping the binary.
After building the app there are two warnings:
warning: no debug map for executable (-arch ppc)
warning: no debug map for executable (-arch i386)
Yup, you built a stripped binary so the debug map never had a chance.
Specifically, gcc doesn't actually emit a dSYM, it builds the binary
with DWARF debug information, but leaves it in the intermediate .o's
while the resulting binary has a map that indicates which functions
are in which .o's. After the link, Xcode then runs dsymutil on the
binary which reads the map and aggregates all of the DWARF data in
the .o's into the single dSYM. Since you had ld strip the binary
during the link, the binary never had a debug map, so dsymutil is
producing warnings telling you that it didn't put anything in the dSYM
since there wasn't anything to put in there.
Although I understand what the warnings mean, I don't know what the
cause is. I found a similar question to this one in the archives,
but the replies do not provide a solution for me. What are the
avenues to look into to fix this? (Because the DSYM file produced is
not usable with atos. At least, the line:
atos -o /Applications/MyApp.app -f /Users/me/Documents/Xcode\
Projects/builds/Beta\ Release/MyApp.app.dSYM -arch ppc 0x00039584
leads to the message: atos cannot load symbols for the file /
Applications/MyApp.app.)
Even after you fix the above, you won't call atos this way. You'll
want to put the .dSYM in the same directory as the bundle it goes
with. Then, run atos on the app's main binary. atos will locate the
dSYM and do the right thing. Also note that atos in Leopard doesn't
retrieve symbol names from dSYMs, only the source line information.
gdb does both. This will be fixed in a future release.
Maybe the info below helps:
/* Begin XCBuildConfiguration section */
6DDD47A10D65333600DEF0F7 /* BETA Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
GCC_ENABLE_OBJC_GC = required;
GCC_PREPROCESSOR_DEFINITIONS = BETARELEASE;
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
OTHER_LDFLAGS = "-s";
PREBINDING = NO;
SDKROOT = "$(DEVELOPER_SDK_DIR)/MacOSX10.5.sdk";
};
name = "BETA Release";
};
6DDD47A20D65333600DEF0F7 /* BETA Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ARCHS = (
ppc,
i386,
);
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"$(FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1)",
"\"$(SRCROOT)\"",
);
FRAMEWORK_SEARCH_PATHS_QUOTED_FOR_TARGET_1 = "\"$(SRCROOT)\"";
GCC_ENABLE_OBJC_GC = required;
GCC_MODEL_TUNING = G5;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = "MyApp (Leopard)_Prefix.pch";
INFOPLIST_FILE = Info.plist;
INSTALL_PATH = "$(HOME)/Applications";
LIBRARY_SEARCH_PATHS = (
"$(inherited)",
"\"$(SRCROOT)\"",
);
OTHER_LDFLAGS = (
"-lcrypto",
"-s",
);
PRODUCT_NAME = "MyApp Pro";
WRAPPER_EXTENSION = app;
};
name = "BETA Release";
};
-António
--------------------------------------------
I try to take one day at a time, but sometimes, several days attack
me all at once!
--------------------------------------------
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
@apple.com
This email sent to email@hidden
--
Rick Altherr
Architecture and Performance Group
email@hidden
Attachment:
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden