debugging gdb错误:无法打开特定断点的文件结果

qpgpyjmq  于 2023-05-23  发布在  其他
关注(0)|答案(1)|浏览(128)

尝试使用gdb调试文件。文件被编译,但每当我设置一个特定的断点时,它告诉我:

(gdb) b big_thing
Breakpoint 1 at 0x1270: file Q1.c, line 19.
(gdb) run
Starting program: /home/kali/Downloads/Q1t 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Could not open file
[Inferior 1 (process 195948) exited normally]

虽然程序是使用“-g”和使用32编译器编译的。除此之外,其他所有断点都工作正常。

iyzzxitl

iyzzxitl1#

此消息:Could not open file来自你自己的程序。您的程序在到达断点之前就退出了,所以这里的一切看起来都像预期的那样工作。
请考虑以下示例:

int foo() { return 42; }
int main(int argc, char *argv[]) {
  if (argc < 2) exit(0);
  return foo();
}

如果在foo上设置断点并以./a.out(即没有参数),程序将退出而不命中断点(就像Q1.c一样)。

相关问题