- 论坛徽章:
- 0
|
我的程序经常会segv dump, 在gdb中调试,很想看到调用free或者其它库函数的参数,但是在gdb中
总是看不到,只能看到自己代码的参数。有没有办法看到最终传给库函数的参数值呢?
如:
- void foo(char* str) {
- free(str);
- }
- int main() {
- char* str = "abc";
- foo(str);
- return (0);
- }
- //compile
- cc -Wall -g3 -o test test.c
- //debug
- (gdb) where
- #0 0xb7e96ee9 in ?? () from /lib/i686/cmov/libc.so.6
- #1 0xb7e97196 in free () from /lib/i686/cmov/libc.so.6 <--- 有没有办法看到free的参数值?
- #2 0x080483b5 in foo (c=0x80484b0 "abc") at char.c:6
- #3 0x080483da in main (argc=<value optimized out>, argv=<value optimized out>) at char.c:10
- (gdb) show print address
- Printing of addresses is on.
复制代码
谢谢 |
|