Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > Отладка неуправляемых библиотек


Автор: Karrde 8.9.2011, 10:34
Доброго времени суток) Хотелось узнать, возможна ли отладка неуправляемых библиотек из c#. Т.е. есть проект на c++, создающий длл. Проект этот можно добавить в солюшн с проектом на шарпе, но reference на c++ проект сделать нельзя(a reference to ... cannot be added). Получается,  доступиться к функциям длл-ки можно только через DLLImport. Но таким образом, мы лишаемся возможности дебажить код на c++ . Можно ли сделать что-нибудь в этой ситуации?

Автор: AlekXL 8.9.2011, 11:56
Цитата(Karrde @  8.9.2011,  10:34 Найти цитируемый пост)
Но таким образом, мы лишаемся возможности дебажить код на c++ . 
 ну почему же? Вы вообще dll отлаживать умеете? Указываете exe (в свойствах отладки dll) - неважно какой .NET, или нативный, неважно, и как только эта ваша dll  загружается в адресное простраство exe, с ней отладчик грузит и отладочную инфу, так что можно ставить бряк.
В вашем же случае, можно и просто c# проект запустить под отладкой, и тоже ставить бряк, на dllMain, например. Должно сработать. 
Я отлаживал Delphi ActiveX, загружаемый из VB.NET  exe - даже такое возможно.

Автор: Karrde 13.9.2011, 20:23
Извиняюсь, надолго затупил)) Ну вот вроде как попробовал: в солюшне два проекта - один - exe на шарпе, второй - длл-ка на плюсах. Вызывать функции длл-ки приходится через dllimport. ставлю бряк в проект длл-ки-бесполезно((

Автор: jonie 14.9.2011, 07:20
в свойствах .net проекта поставь галку "Enable unmanaged code debug" в секции Debug - и всё будет работать (если, конечно, рядом с native dll будет pdb файл от неё+настроено при сборке debug info включать).

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)