[Env: Solaris 11 on i386; dbx from Solaris Studio 12.2; Sun C 5.7]
I am attempting to debug a large (~200 source code files) C program in dbx. I can invoke dbx with my executable, but I can't even get dbx to find the source code for main() - when I type list main inside dbx, I get
dbx: no source lines for "main"
I am debugging in the directory in which the final executable was compiled. The source for main is in ../sources/multithread/main.c. I have looked inside main.o (located in the debugging/final compilation directory) and inside the final executable, and can see the filename/relative directory mentioned. Things I have tried:
- Adding
-I ../sources/multithreadto thedbxcommand line invocation - Adding
pathmap <full_path_to_multithread_dir>to./.dbxrc - Copying
main.cto the debug/final compilation dir - Creating a small Hello World testcase and using dbx on this (this works)
- Only turning on debug info (
-g) formain.c(thought I might have too many debug symbols, but that didn't help)
Are there architectural limitations I'm running into here? Missing some cc/linker options? dbx can't handle relative paths for debugging?