Я изучаю кодовую базу Clang с VS2015, а файл .sln
генерируется CMake. Я настроил решение на Debug/x64
, и я могу видеть сгенерированные файлы .pdb
, сопровождающие библиотеки, но я не могу сломать код lib, связанный с исполняемым клиентом.Как отлаживать статические связанные библиотеки Clang в VS2015
Например, я установил некоторые точки останова в модуле clangParse, где поток управления должен пройти во время разбора, но после того, как печатается AST, отладчик не остановился на точках разрыва в модуле clangParse, но только на точки останова, установленные в самом модуле clang.
Для некоторых других созданных вручную решений с исполняемыми и static-libs я могу отлаживать эти библиотеки. Не уверен, почему это не работает для CMake-созданного решения Clang/LLVM.
Любые особые настройки, которые мне нужно сделать здесь?
Не могли бы вы поделиться подробными инструкциями по воспроизведению этой проблемы? Этот проект успешно компилируется, если вы просто запускаете его, используя «начать без отладки (Ctrl + F5)»? Если точка останова не была удалена, а проект был скомпилирован нормально, вы получаете какие-либо полезные сообщения в окне вывода? Во время режима отладки наведите мышь на точку останова, которая не была удалена, или щелкните меню «Отладка» -> Окно -> Модули, вы получаете какие-либо сообщения? –
@ Eddie-MSFT Да, я могу скомпилировать и запустить его успешно, и я могу сломать точки останова в проекте clang, но не в других статических связанных библиотеках (например, clangParse). И я уверен, что поток контроля должен пройти через точки останова, которые я установил. – Jamboree
Можете ли вы включить окно настроек исключения в качестве этой ссылки: https: //msdn.microsoft.com/en-us/library/x85tt0dd.aspx. Добавьте точку останова в строку кода (A), которая вызовет библиотеку, а затем отлаживает ее с помощью «Step Into (F11)» после того, как она была удалена (A), чтобы вы могли отлаживать приложение на один шаг за один шаг, Сообщения. В разделе TOOLS-> Options-> Debugging установите флажок «Показать демонтаж, если источник недоступен». Если по-прежнему нет сообщений, можете ли вы поделиться простым образцом? –