原生IDE崩溃中断后Call Stack(调用栈)窗口始终空白如何解决?
常见原因及解决方法
- 调试符号生成配置被修改
调整IDE选项时大概率误改了全局或项目级的调试符号生成规则:- 打开项目选项,切换到「编译」标签页,确认勾选了生成调试信息
- 切换到「链接器」标签页,确认勾选了包含TD32调试信息(旧版Delphi)或生成PDB调试符号(新版Delphi)
- 确认当前使用Debug模式编译,Release模式默认关闭调试信息生成,无法解析调用栈
- 集成调试器开关被关闭
打开IDE顶部菜单「工具」-「选项」,进入「调试器」分类,确认启用集成调试选项处于勾选状态。该选项被取消后IDE仅会触发崩溃提示,不会加载调试符号解析调用栈。 - 调用栈窗口筛选规则异常
右键点击空白的Call Stack窗口,查看弹出菜单的筛选选项:确认没有勾选「仅显示当前模块」「隐藏非用户代码」等过于严格的筛选规则,规则设置不当会导致所有栈帧被过滤,呈现空白状态。 - IDE调试配置损坏
上述配置都正常的情况下,可以尝试重置IDE布局:依次点击「窗口」-「重置窗口布局」;如果依然无效可以通过IDE的导入导出设置功能恢复默认配置,排除之前修改选项导致的配置异常。
问题复现参考
测试代码:
app.log('crash test '+inttostr(1 div JvTrayIcon1.IconIndex));
故障界面:
内容的提问来源于stack exchange,提问作者djdance
相关产品推荐
相关产品推荐

