using gdb effectively
I'm used to using gdb quite effectively when I am dealing with ELF binaries which have been compiled using the -ggdb flag. However there are a few difficulties I am facing when I am facing 开发者_高级运维normal non-stripped
binaries.
- I can set the breakpoint at main, but what if I needed to set the breakpoint at a fixed offset(say 10 lines) from the start of main?
- Usually I get the address of a character array(say
buf
) asprint &buf
. However, in the current case I get a message saying thatbuf
cannot be found in the current context.
How do I deal with the above mentioned issues? It would be great if you could provide some reading material too.
To get things like source line number and variable information, your code needs to be compiled with debug symbols (-ggdb
or similar). Compiling without debug symbols but unstripped keeps in function and global variable names, but nothing else. Stripping the executable even removes some of those. So, in answer to your question, you can't do the things you want without compiling with -g
.
精彩评论