У меня есть приложение 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?