it-roy-ru.com

Отладка c ++ dll в C #

У меня есть .dll из C++, и я хочу отладить его в C #, но я не знаю, как это сделать.

Когда я скомпилировал проект c ++, Visual studio попросила меня выполнить «.exe».

Я предположил, что мне нужно было создать проект для выполнения DLL.

Но я заблудился, как я мог это отладить?

31
Custo

Если я вас правильно понимаю, вы хотите отладить созданный вами код C++ DLL в проекте C #, который вызывает библиотеку DLL, которую вы также создали?

Я делал это раньше, зайдя в свойства вашего проекта C # и в разделе «Отладка» установив флажок «Включить отладку неуправляемого кода». Это должно позволить вам войти в вашу C++ DLL.

34
CCicotta

Чтобы отладить C++ из C #, нужно сделать пару вещей.

  1. Добавьте проект C # в ваше решение для вашего приложения отладки.
  2. Измените свойства проекта C # на «Разрешить отладку неуправляемого кода» на вкладке «Отладка» свойств проекта.
  3. Установите проект C++ как зависимость проекта C #.
  4. Напишите код в своем проекте C #, чтобы использовать DLL, используя P/Invoke или COM.
  5. Установите некоторые точки останова в вашем коде C++ и запустите проект C #.
17
heavyd

Visual Studio не может выполнить DLL самостоятельно.

Вам нужно установить загрузочный .exe, который будет использовать вашу C++ dll, в свойствах вашего dll проекта. Вы можете сделать это из properties -> debugging -> command , указав путь к исполняемому файлу, который будет вызывать вашу dll, и любой необходимый аргумент командной строки. 

5
JohnIdol

Для VS 2017 Pro перейдите на страницу свойств основного проекта (ваш проект c # в решении), щелкнув его правой кнопкой мыши. В пункте меню «Отладка» найдите параметр в механизмах отладчика, выберите «Включить отладку собственного кода».

1
user10044681

Расширение отладки SOS (Son of Strike) (SOS.dll) помогает вам отлаживать Управляемый код в Visual Studio, предоставляя информацию о внутренняя среда CLR

см. статью ниже: -

СТАТЬЯ MSDN

0
Vivek Joshi