编译语言调试器局限性
常规
- 在“调试”透视图外部启动调试会话时,编译语言调试视图可能不会自动打开:不在“调试”透视图中时,启动编译语言调试会话可能会导致某些视图不打开。不打开的视图包括:寄存器、内存、内存呈示、监视器和模块视图。可以通过从工作台菜单栏中选择窗口 > 显示视图 > 其它来手工打开这些视图。在显示视图对话框中,展开调试节点并选择想要打开的视图。您也可以通过在“调试”透视图中终止所有调试启动并重新启动应用程序来更正这一问题。为了防止再次发生这一问题,一定要在“调试”透视图中启动调试会话。
- “找不到 DLL”错误:如果启动编译型调试会话时产生 Windows® 消息“找不到 DLL”,则除去 LOCPATH 环境变量。
- “内存呈示”视图仅显示采用单字节编码的字符:内存呈示视图不会显示采用多字节编码的字符。
- “内存”视图在 Linux™ GTK 上的行为发生异常:在 Linux GTK 上,滚动和光标移动不能正常工作。当您在调试会话中单步执行或运行时,该视图可能会异常地滚动。
- Power 体系结构上某些版本的 GCC(例如,3.4.2)生成了不正确的 .debug_frame 部分:这将导致调试器不能正确地显示调用堆栈。如果发生此问题,设置以下调试器引擎环境变量:
DER_DBG_DEBUG_FRAME=NO
除非发生此问题,否则不应该设置此环境变量,这是因为 .debug_frame 部分提供了一些信息来允许调试器更准确地确定线程堆栈和局部变量。
- 当设置延迟的函数断点或入口断点时,断点向导的行为不一致:
- 如果填写了向导的函数/入口、部件和模块字段并且将断点设置为延迟断点,则无论函数是否是公用的,都将设置函数断点。
- 如果填写了向导的函数/入口和模块字段并且将断点设置为延迟断点,但是未填写部件字段,则仅当函数是公用函数时才会设置函数断点。
- 当在 Linux 上调试时,包含回车字符的源文件可能会不正确地显示:在 Linux 上,如果编译器源文件包含回车字符(0x0d),则某些编译器可能会生成不正确的行号信息。这将导致调试器不正确地显示源代码。
本地语言局限性
- 双向(BiDi)局限性:当调试不是以本机代码页编码的 JSP 文件时,将不能使用“调试器”编辑器。
- 编译语言调试器:
- 在单字节(SBCS)系统上,编译语言调试器不支持程序名或不支持传递那些包含 0x7F 以上的字符的程序参数。
- 不支持在调试对象名和调试对象自变量中使用 NL 字符。