首页 > 解决方案 > 使用 lldb 在 VS Code 中进行调试,如何在没有源代码的符号上设置断点?

问题描述

我有某种内存管理错误,当然,在 100% 负载下每 3 天左右随机发生一次。这是在 OSX 上,但都是简单的、可移植的 C++11:

code(12404,0x70000aace000) malloc: *** error for object 0x105088e00: pointer being freed was not allocated
                         *** set a breakpoint in malloc_error_break to debug
  Abort trap: 6

我正在使用 Visual Studio Code,调试器是 lldb;我不知道 - 如何 - 在 malloc_error_break 上设置断点,这样我就可以在调用堆栈发生时查看它。

VS Code 允许您在源代码行设置断点,但我没有该系统库代码的源代码,只有符号。但是,如果我可以在那里中断,无论没有该函数的源代码,我都可以检查调用堆栈。

那么,如何在没有源代码的任意符号处在 OSX High Sierra 上的 Visual Studio Code 下的 lldb 中设置断点?

谢谢!

标签: visual-studio-codelldbvscode-debugger

解决方案


如果你去Debug->New Breakpoint->Function Breakpoint,你可以通过输入函数名(malloc_error_break)来添加这个断点。


推荐阅读