我正在使用DDD调试一个包含许多文件的程序,并且我能够成功地设置断点并逐步完成C源代码。有时,对于较大的源文件,我发现当我尝试进入位于文件末尾附近的函数(例如,超过第1200行左右)时,整个源文件不会显示在调试器中。换句话说,只显示源文件的前1200行左右,即使我正在遍历文件后半部分的代码,我也看不到它。为什么要剪裁源文件,我该怎么做才能让DDD加载整个文件,而不仅仅是文件的前半部分?
ddd似乎在源代码中ASCII 127以上的字符方面存在问题。在这里,ddd停止了在一个C注释中写入文本"m²"的位置工作。²包含在ISO 8859-15编码(ASCII 178)的文本中。删除该字符解决了问题。
尝试使用:
LANG=C ddd ...
或
export LANG=C
ddd ...