문제

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?

도움이 되었습니까?

해결책 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....

다른 팁

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.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top