Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
int main(int ac, char *av[]) { printf("%d"); return 0; }
我知道这会打印垃圾,但是如何使用 gdb 跟踪程序来检查垃圾值?
您可以使用断点printf并检查堆栈$esp
printf
$esp
gdb不知道垃圾值;但printf在您的情况下,碰巧va_args从堆栈中检索(使用)一些“未定义”(实际上是“未初始化”,即包含一些以前的垃圾)值。
gdb
va_args