Alex Rivera | Logout

Cannot Debug Unmanaged Dll from C#

Asked 2009-11-16T21:12:32.103
33

I have a DLL that was written in C++ and called from a C# application. The DLL is unmanaged code.

If I copy the DLL and its .pdb files with a post build event to the C# app's debug execution dir I still can't hit any break points I put into the DLL code. The break point has a message attached to it saying that "no symbols have been loaded for this document".

What else do I have to do to get the debugging in the dll source?

I have "Tools->Options->Debugging->General->Enable only my code" Disabled. The DLL is being compiled with "Runtime tracking and disable optimizations (/ASSEMBLYDEBUG)" and Generate Debug Info to "Yes (/DEBUG)"

Edit
Report

1 Answer

1

When you attach to a process to debug, you have to specify how you want to attach. You have a few options, namely Managed, and Native. In order to debug C# code with unmanaged C++, you have to attach to a process as Managed and as Native (both can be selected at the same time).

answered 2009-11-16T21:16:09.833

Your Answer