У меня есть проект C для встроенного устройства.
Я хочу вызвать части этого кода из CFFI для целей тестирования и разработки.
Самостоятельная компиляция и запуск CFFI работает отлично.
Я могу подключить отладчик Visual Studio к python.exe для отладки файлов C.
< h2>Система
Я использую Windows 10, использую Visual Studio 2022 и инструменты сборки Visual Studio 2022.
Шаги
Вот шаги, которые я предпринял. :
- Я компилирую библиотеку cffi с помощью extra_compile_args = ['/Zi', '/Od', '/DEBUG'], extra_link_args = ['/DEBUG']
- Я сообщил коду Visual Studio, где найти файл .pdb, добавив его путь в Инструменты. >Отладка>Символы.
- Я запускаю код Python, заставляю его сообщать мне свой идентификатор процесса и приостанавливаю его.< /p>
- Прикрепляю визуальную студию код для этого процесса.
- Я добавляю точки останова в код там, где мне нужно.
В этот момент на этих точках останова появляется небольшой предупреждающий знак, сообщающий мне:
< р>This breakpoint will currently not be hit. No symbols have been loaded for this document
Я заметил, что при компиляции cffi также создается папка Release с несколькими .obj, .exp и .lib. код> файлы. Я пропустил какие-то ссылки?
Обратите внимание: мой код расположен в разных местах, поэтому я не знаю, вызывает ли это проблемы с поиском кода Visual Studio:python-project/
│
├── src/
│ └── cffi/
│ ├── cffi_compile
│ └── cffi_run
│
├── src-cffi/
│ └── foo.c
│
└── Release/
└── ... # this is generated by cffi, contains .obj, .exp, .lib
c-project/
├── bar.c
└── bar.h
Подробнее здесь: https://stackoverflow.com/questions/792 ... sual-studi