Отладка Rust в VSCode, без символов отладки в библиотеке, но символы отладки на примере - PullRequest
6 голосов
/ 27 мая 2020

Я пытаюсь выполнить отладку с помощью LLDB на VSCode. Я добавил точку останова в свою библиотеку, она останавливается на точке останова, но я получаю стек вызовов с безымянными символами, и я не вижу никаких переменных:

enter image description here

Это пример из библиотеки, которую я построил с помощью cargo build --example my_example_name. Я исследовал, и для сборки в режиме выпуска следует добавить --release. Так что я думаю, что построил в режиме отладки.

Думаю, библиотека как-то строится в режиме выпуска. Как я могу это проверить?

Если я помещаю точку останова в сам файл примера, то при возникновении точки останова появляется символ. Когда я помещаю точку останова в библиотеку, используемую в примере, символы не появляются, когда возникает точка останова.

Возможно ли, что cargo build --example my_example построит пример в режиме отладки, а библиотека в режиме выпуска ?

1 Ответ

4 голосов
/ 01 июня 2020

Согласно https://doc.rust-lang.org/cargo/commands/cargo-build.html, «Зависимости используют профили dev / release».

Чтобы переопределить это, вы можете попробовать RUSTFLAGS=-g cargo build ... (-g is эквивалент -C debuginfo=2).

...