Question

I have a C# dll registered with regasm. This dll used with an older executable written in visual c++. I originally built the DLL in VS2008 on 32 bit xp. I recently moved it to Windows 8 and rebuilt it in VS2013.

I can no longer hit breakpoints in this dll. It worked just fine on the XP/2008 setup. The output directories are correct, the .pdb files are in the right locations, the setup is the same as it was before.

The only difference is that to get this to work, I had to set the target platform flag to x86 in order to get the DLL to register and instantiate correctly on the windows 8 box.

I've been banging my head all day. I've also tried to start the target.exe and use "attach process" to hit the breakpoint, but no dice. I've cleaned the .pdb files, cleaned and rebuilt, etc, to no avail.

Anyone know what I might be doing wrong?

Was it helpful?

Solution 2

I finally got it!

Debug->Attach To Process dialog.

Attach to: Managed (v3.5, v3.0, v2.0) code, Native code. // I changed this from 'Auto'.

My target .NET framework in the DLL's project settings was 3.5. I guess the 'Auto' detect setting didn't work as I thought it would....

OTHER TIPS

Double-check that your symbols files are being loaded correctly during execution using the dialogue found at: TOOLS -> options -> debugging(tab) -> Symbols

here you can specify the symbols directories in which visual studio should look for .pdb files.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top