Menu

#60 gdb "Could not load shared library symbols"

open
nobody
None
5
2011-07-19
2011-07-19
Nick Wallin
No

Hello, I am trying to debug my program. I downloaded the gdb binary on this site from Files->External binary packages (Win64 hosted)->gdb->i686-w64-mingw32-gdb-7.1.90.20100730.zip. I am running Windows XP 64-bit, but I am currently making 32-bit programs.

First question: what does "Win64 hosted" mean? I can use this gdb to debug 32-bit programs, right? Hence the "i686" in the file name?

When I debug any program, upon exiting the program or when a program crashes (hence my wanting to debug) I get the following warning from gdb:

"warning: Could not load shared library symbols for C:\WINDOWS\SysWOW64\ntdll32.dll.
Do you need "set solib-search-path" or "set sysroot"?"

It should be noted that none of my applications depend on C:\WINDOWS\SysWOW64\ntdll32.dll and I am confused as to why gdb is looking for it. Also, C:\WINDOWS\SysWOW64\ntdll32.dll doesn't even exist on my system.

Now, I have seen the question in the FAQ that says "Why isn't gdb able to display symbols from DLLs?" with the answer being "To display symbols from DLLs, gdb must be compiled against libexpat."

Is this my problem? Am I unable to use a binary gdb to debug in this case? If so, where do I get the correct gdb source? And what does it mean to "be compiled against libexpat'? Is the error because the binary gdb was compiled against ntdll32.dll, a file that I don't even appear to have on my system?

Thanks a lot!

Discussion


Log in to post a comment.

MongoDB Logo MongoDB