Отладка в VS Code с помощью lldb, как мне установить точку останова для символа, для которого у меня нет источника? - PullRequest
0 голосов
/ 20 декабря 2018

У меня есть какая-то ошибка управления памятью, которая, конечно, происходит случайным образом каждые 3 дня или около того при 100% загрузке.Это на 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, а отладчик - lldb;я не знаю, как установить точку останова на malloc_error_break, чтобы я мог посмотреть на стек вызовов, когда это произойдет.

Код VS позволяет вам устанавливать точки останова в строках исходного кода, но у меня нет исходного кодакод для этой системной библиотеки код, просто символ.Но если бы я мог сломаться там, независимо от отсутствия источника для этой функции, я мог бы проверить стек вызовов.

Итак, как установить точку останова в lldb под кодом Visual Studio для OSX High Sierra на произвольном символебез исходного кода?

Спасибо!

1 Ответ

0 голосов
/ 20 декабря 2018

Не уверен насчет части кода Visual Studio, но в lldb вы можете сделать это с помощью:

br s -F malloc_error_break
...