Почему я получаю «идентификатор не определен» или «недоступен» при проверке переменной Rust в отладчике Visual Studio? - PullRequest
12 голосов
/ 10 июня 2019

Я установил отладчик кода Visual Studio и запустил следующую программу.

pub fn main() {
    let mut chars = "test".chars();
    match chars.next() {
        Some(c) => {
            println!("What is the value of c, here?");
            if c == 'c' {
                println!("c");
            }
        }
        None => {}
    }
}

Если я установил точку останова в строке 6 и посмотрел на панелях Переменные и Наблюдение, c не оценивает, но скорее передает следующее сообщение: identifier 'c' is undefined используя cppvsdbg в Windows или <not available> используя lldb в Linux.Я подтвердил, что это происходит как в сборках Linux, так и в Windows, для текущей стабильной версии компилятора.

Я также добавил следующее к Cargo.toml безрезультатно:

[profile.dev]
opt-level = 0
debug = true

Для справки, вот мой файл launch.json, необходимый для компилятора кода VS:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(Windows) Launch",
            "type": "cppvsdbg",
            "request": "launch",
            "program": "${workspaceFolder}/target/debug/test.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": true
        }
    ]
}

Замените "(Windows) Launch" на выбранную вами ОС.

Почему эторезультат?Есть ли исправление или какие-то опции компилятора, которые следует добавить?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...