Как можно отладить ChakraCore / ChakraRT (движок win10 sdk js) в Visual Studio в нативном приложении? - PullRequest
0 голосов
/ 12 января 2020

У меня есть приложение C ++, которое реализует ChakraCore (движок, встроенный в windows 10.0.18362 & win10 sdk, НЕ версия с открытым исходным кодом, которая НЕ является тем же API и, похоже, имеет несколько других отличий).

Чакра работает нормально, я реализовал асинхронные c обратные вызовы и т. Д. c так что я не пропустил ни одного цикла обработки событий, который может иметь реализации отладки (как требует v8)

У меня есть включил отладку с помощью JsStartDebugging() (https://docs.microsoft.com/en-us/microsoft-edge/hosting/chakra-hosting/jsstartdebugging-function), когда в javascript выдается исключение, Visual Studio (сообщество 2017 г. 15.9.18) выскакивает с помощью «Выбрать отладчик вовремя» и предлагает открыть новый экземпляр Visual Studio для его отладки. Это открывает новый экземпляр VS, и мои скрипты (загружаемые в чакру с соответствующими именами файлов и т. Д. c) отображаются динамически, НО, он не прерывается на исключение, и точки останова ничего не делают. Я могу сделать паузу, но он говорит, что в настоящее время он находится в нативной части кода, предлагает мне step дождаться, пока он войдет в JS выполнение, но этого никогда не происходит. (Приложение по-прежнему выдает исключения в JS)

Мне нужно CoInitializeEx(nullptr, COINIT_MULTITHREADED); или CoInitializeEx(nullptr, COINIT_APARTMENTTHREADED);, прежде чем я смогу включить отладку, но между ними нет разницы.

Есть ли хитрость, чтобы добраться до финальной части, чтобы позволить мне шагать / смотреть / et c?

...