«CString не прекращена» при использовании LLDB-MI с кодом Visual Studio в Windows ARM64.C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 «CString не прекращена» при использовании LLDB-MI с кодом Visual Studio в Windows ARM64.

Сообщение Anonymous »

Недавно я перешел на компьютер ARM64 с Snapdragon X Elite в Windows и пытаюсь настроить код Visual Studio. Поскольку MinGW-w64 с gcc и gdb недоступен для ARM64, я использую LLVM-Mingw (версия 18.1.18). (Я также пробовал MSVC, но не могу к нему привыкнуть).
Проблема возникает, когда я пытаюсь запустить lldb-mi из VS Code. Я столкнулся со следующей ошибкой (полный вывод внизу вопроса):
[Error] MI parsing error: CString not terminated: ""C:\\Users\\User_\\Documents\\Development\\TestProject"
[Error] MI parsing error: Result expected: "path="C:\\Users\\User_\\Documents\\Development\\TestProject"
[Error] MI parsing error: trailing chars: ""C:\\Users\\User_\\Documents\\Development\\TestProject"


Конфигурация запуска (launch.json):
{
"version": "0.2.0",
"configurations": [
{
"name": "(lldb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "${command:cmake.launchTargetPath}",
"showDisplayString": true,
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"logging": {
"engineLogging": true
},
"externalConsole": true,
"MIMode": "lldb"
}
]
}

Отладка с использованием только lldb напрямую через CLI работает нормально.
Я также попробовал расширение кода vs CodeLLDB, но, к сожалению, оно пока недоступно для ARM64.
Для всех, кто хочет воспроизвести проблему.
Код представляет собой простую программу Hello World на C++ и используемую CMake:
cmake_minimum_required(VERSION 3.27)
project(TestProject)
set(CMAKE_BUILD_TYPE Debug)

add_executable(testProject ${CMAKE_CURRENT_SOURCE_DIR}/main.cpp)

target_link_libraries( testProject)


Среда:
  • Версия кода Visual Studio: 1.91.0 (настройка пользователя)
  • Версия Clang: 3b5b5c1ec4a3095ab096dd780e84d7ab81f3d7ff
  • Версия LLVM: 3b5b5c1ec4a3095ab096dd780e84d7ab81f3d7ff
Есть идеи, чего мне не хватает?< /p>
Обновление по предложению Electro Organic:
Я обновил файл launch.json, указав абсолютный путь. Я также перемещаю его в путь без подчеркивания, та же проблема сохраняется. Я также пробовал использовать прямую и двойную обратную косую черту, без изменений.
Я проверил с помощью Notepad++ наличие скрытых символов, но также не смог их найти.
Новый файл launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "(lldb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "C:\\Users\\Public\\TestProject\\build\\testProject.exe",
"args": [],
"stopAtEntry": false,
"cwd": "C:\\Users\\Public\\TestProject",
"logging": {
"engineLogging": true
},
"externalConsole": false,
"MIMode": "lldb",
"miDebuggerPath": "C:\\BuildTools\\llvm-mingw-20240619-ucrt-aarch64\\bin\\lldb-mi.exe"
}
]
}

Полный вывод отладки:
1: (80) LaunchOptions{"name":"(lldb) Launch","type":"cppdbg","request":"launch","program":"C:\\Users\\User_\\Documents\\Development\\TestProject\\build\\testProject.exe","showDisplayString":true,"args":[],"stopAtEntry":false,"cwd":"C:\\Users\\User_\\Documents\\Development\\TestProject","logging":{"engineLogging":true},"externalConsole":true,"MIMode":"lldb","__configurationTarget":6,"__sessionId":"b05ff7d2-9d7c-4e88-96b2-79ee5c80f421","miDebuggerPath":null}
1: (131) Starting: "C:\BuildTools\llvm-mingw-20240619-ucrt-aarch64\bin\lldb-mi.exe" --interpreter=mi
1: (201) DebuggerPid=21952
1: (806) ->(gdb)
1: (816) 1001^done
1: (817) ->(gdb)
1: (819) 1001: elapsed time 3
1: (820) 1002^done
1: (821) 1002: elapsed time 1
1: (821) (gdb)
1: (821) ->1003^done,path="C:\\Users\\User_\\Documents\\Development\\TestProject
1: (821) ->"
1: (821) ->(gdb)
[Error] 1: (825) MI parsing error: CString not terminated: ""C:\\Users\\User_\\Documents\\Development\\TestProject"
[Error] 1: (825) MI parsing error: Result expected: "path="C:\\Users\\User_\\Documents\\Development\\TestProject"
[Error] 1: (825) MI parsing error: trailing chars: ""C:\\Users\\User_\\Documents\\Development\\TestProject"
[Error] 1: (894) EXCEPTION:
[Error] 1: (895) EXCEPTION: at MICore.MIResults.ParseResultList(Span listStr, ResultClass resultClass)
[Error] 1: (895) EXCEPTION: at MICore.MIResults.ParseCommandOutput(String output)
[Error] 1: (895) EXCEPTION: at MICore.Debugger.ProcessStdOutLine(String line)
[Error] 1: (895) EXCEPTION: at Microsoft.MIDebugEngine.DebuggedProcess.c__DisplayClass96_0.b__0()
[Error] 1: (895) EXCEPTION: at Microsoft.MIDebugEngine.WorkerThread.ThreadFunc()
1: (897) Send Event AD7MessageEvent
[Error] 1: (898) MI parsing error: CString not terminated: """


Подробнее здесь: https://stackoverflow.com/questions/787 ... -windows-a
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • «CString не прекращена» при использовании LLDB-MI с кодом Visual Studio в Windows ARM64.
    Anonymous » » в форуме C++
    0 Ответы
    29 Просмотры
    Последнее сообщение Anonymous
  • LLDB-DAP Exception 0x80000003 под Windows 11 / ARM64
    Anonymous » » в форуме C++
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • LLDB-DAP Exception 0x80000003 под Windows 11 / ARM64
    Anonymous » » в форуме C++
    0 Ответы
    3 Просмотры
    Последнее сообщение Anonymous
  • Windows Visual Studio, как отлаживать программу C ++, такую ​​как GDB или LLDB (нет графического интерфейса, только кома
    Anonymous » » в форуме C++
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Код Visual Studio LLDB при ошибке macOS при запуске сеанса отладки
    Anonymous » » в форуме C++
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C++»