При использовании vscode для отладки Clickhouse точки останова исходного кода перейдут на соответствующий ассемблерный кC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 При использовании vscode для отладки Clickhouse точки останова исходного кода перейдут на соответствующий ассемблерный к

Сообщение Anonymous »

Проблема возникает, когда я использую VSCode для отладки Clickhouse, скомпилированного из исходного кода:

Код: Выделить всё

Could not resolve any locations for breakpoint at ~/ClickHouse/programs/local/LocalServer.cpp:480, but found a valid location at build/programs/local/LocalServer.cpp:480 but found a valid location at build/programs/local/LocalServer.cpp:480
То есть мои точки останова в исходном коде недействительны, я не знаю, почему там написано, что допустимое местоположение находится в папке сборки, но после того, как я установил параметр sourceMap, я могу точки останова!
Но есть новая проблема: когда я нарушаю точку в исходном коде, когда я запускаю точку останова, она перейдет к файлу сборки, соответствующему исходному коду, например, когда я нарушаю точку останова. в int LocalServer::main(const std::vector & /*args*/) он перейдет к файлу сборки после его запуска, и я могу только видеть

Код: Выделить всё

13BD4E0E: E8 AD D4 D1 FF callq 0x138f22c0 ; DB::UseSSL::UseSSL at UseSSL.cpp:12
13BD4E13: E9 00 00 00 00 jmp 0x13bd4e18 ;  at LocalServer.cpp
13BD4E18: 48 8B BD F8 FC FF FF movq -0x308(%rbp), %rdi
13BD4E1F: 48 81 C7 E0 01 00 00 addq $0x1e0, %rdi ; imm = 0x1E0
13BD4E26: E8 B5 BE 00 00 callq 0x13be0ce0 ; std::__1::optional::emplace[abi:v15007] at optional:896
13BD4E2B: E9 00 00 00 00 jmp 0x13bd4e30 ;  at LocalServer.cpp
вот две картинки
исходный файл
файл сборки
Мне хотелось бы знать, как правильно отладить это в исходный код, а не в файле сборки

Подробнее здесь: https://stackoverflow.com/questions/791 ... ll-jump-to
Ответить

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

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

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

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

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