Отладка Visual Studio 2005 VB с помощью c ++ dll - Отладка на смешанном языке

StackOverflow https://stackoverflow.com/questions/479495

Вопрос

У меня есть проект vb, который вызывает функции в dll.DLL создается в отдельном проекте vs (portaudio), который написан на c.

Проект dll c компилируется чистым и создает требуемую dll, которую я в настоящее время добавляю c:\windows\system среда выполнения vb может это увидеть.

Проект VB живет в c:\devprojects\vbtest

Проект C находится в c:\devprojects\portaudio, а файл проекта - в c:\devprojects\portaudio\build\msvc.Dll, созданная в Win32 \ debug в этом каталоге msvc.

Когда я вызываю функцию dll, возможно ли, чтобы отладчик vs выполнял пошаговое выполнение функции c в dll - у меня есть весь код и т.д., Но я не знаю, поддерживает ли VS2005 такого рода отладку на смешанном языке.

Если это возможно, не могли бы вы посоветовать, как мне следует настроить свою Visual Studio для достижения этой цели.

Большое спасибо Дэвид

Это было полезно?

Решение

Необязательно иметь оба проекта в одном решении, но вы должны скомпилировать оба проекта с включенными символами отладки.

Теперь в вашем проекте / свойствах VB net solution на вкладке Debug убедитесь, что установлен флажок "Включить отладку неуправляемого кода".

Также убедитесь, что загруженная dll находится в том же месте, где она была скомпилирована, иначе она может не найти pdb, где хранятся символы отладки.

Другие советы

Создайте решение с обоими проектами, добавьте ссылку в проекте VB в проект C с помощью диалогового окна "Добавить ссылку.." -> Проект и соберите их все в режиме отладки.

Как вы вызываете C dll из VB?

Если его VB.NET тогда это очень просто, просто настройте решение с обоими проектами под ним, настройте их зависимости и убедитесь, что при сборке отладочная версия проекта VB ссылается на отладочную библиотеку / dll, созданную из вашего проекта C ++.Visual Studio делает все остальное.

Я делал это раньше пару раз с приложениями C #, вызывающими C ++ dll.Я не собирался настраивать это, но попытался выполнить пошаговое выполнение во время отладки, предполагая, что получу список сборок и смогу хотя бы немного разобраться в том, что происходит не так с моим кодом...однако он загрузил правильный файл .cpp и позволил мне продолжить пошаговое выполнение этого кода.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top