В настоящее время я пишу нативное расширение для NodeJS. Это в основном dll, который NodeJS будет загружать, когда вы просите об этом.
У меня есть VS2012, присоединенный к процессу Node. Я хочу отладить код узла, который выполняет загрузку.
У меня есть файлы .cc и .h для узла, но я не могу найти файлы .pdb. Как я могу установить точку останова в источнике узла?
ОБНОВЛЕНИЕ: У меня действительно есть файл node.lib. Может ли это быть заменой для pdb?
ОБНОВЛЕНИЕ 2: Tangential, но для любого, специально отлаживающего NodeJS, Node фактически отправляет pdb, доступный по адресу http://nodejs.org/dist/v0.8.22/node.pdb (замените номер версии на любую версию, которую вы ищете).
Без способа связать фактический исходный код с кодом сборки, вы не сможете отлаживать исходный код. Вам нужен файл pdb.
Подумайте об этом так: любой компилятор мог бы сгенерировать код, и даже если компилятор VS2012 сгенерировал код, VS не сможет перепроектировать весь этап генерации кода, чтобы узнать, к какой строке исходного кода принадлежит конкретная команда сборки. А с наклоном и тому подобным это еще больше усложняет задачу.
Таким образом, любой отладчик не может отлаживать без символов отладки, просто невозможно преобразовать семантику сборки в семантику языка более высокого уровня (вы теряете структурную информацию в процессе компиляции). В противном случае инструменты статического анализа было бы так легко написать.
редактироватьФайл .lib также не содержит отладочной информации, он просто необходим для ссылки на него. Так что тебе тоже не повезло.
Других решений пока нет …