标签: c linux gdb
int main(int ac, char *av[]) { printf("%d"); return 0; }
我知道这会打印垃圾,但如何使用gdb跟踪程序来检查垃圾值?
答案 0 :(得分:3)
您可以在printf上放置断点并使用$esp
printf
$esp
gdb不了解垃圾值;但是在你的情况下printf恰好从堆栈中检索(使用va_args)一些“未定义的”(实际上是“未初始化的”,即包含一些先前的垃圾)值。
gdb
va_args