2016-10-26 31 views
0

首先的行数相同,优化级别为-O0,并且包括-ggdb3标志 当我用GDB调试,跟踪点是不相一致我用“list”得到的行号,它总是在几行; cpp有超过10000行,是否因为文件太大而导致gdb在行号上出错。例如, ,gdb的tracepoint是1005行,但实际上它只在1000行上。用gdb调试,跟踪点是不符合代码

+0

@lee,当u编译调试版本甚至会删除所有空格(您的格式),等等,当然,这还不是全部一样。它将只包含真正的代码行。 –

+0

@Шах,我觉得是不是这个原因,有很多空格,但跟踪点仅在几行 –

+0

@lee,没关系,当所有的后期编辑的标志。 U需要在其他情况下设置调试标志,它不会将其他信息保存到您的调试器,可以将其与源代码链接起来。 –

回答

0
  1. 这是一个previous question很大程度上回答你的。
  2. 此外,你包括-g包括调试信息。
+0

我已经包含-ggdb3标志来包含调试信息 –

0

我找到原因,cpp文件是从windows上传的,这种格式的文件是DOS,每行都有一个“换行”,所以gdb得到的是错误的信息。 将文件的格式从dos更改为uinx是可​​以的!