.NET Framework Developer Center >
.NET Development Forums
>
Building Development and Diagnostic Tools for .Net
>
Curious about x64 .net
Curious about x64 .net
Is it already supported by VS?
Does it have a separate runtime?
And what's the debugging API for it? So can a 32bit debugger debug 64 bit .net code?
Thanks,
Dan
Answers
- It's been supported since .Net 2.0, there's no change in the debugging API and you just can use visual studio to debug, the only thing thats different is that Edit and continue doesn't work for 64 bit processes.
- Marked As Answer byRick ByersMSFT, OwnerMonday, November 02, 2009 5:52 PM
- Proposed As Answer byKarel ZikmundMSFT, ModeratorFriday, October 30, 2009 3:45 PM
- Also I think that the debugger process has to be of the same bitness as the debugee. So no cross-platform debugging.
-Karel- Marked As Answer byRick ByersMSFT, OwnerMonday, November 02, 2009 5:53 PM
- And yes, it is a completely separate runtime (built mostly from the same source of course). If you install the .NET framework on a 64-bit OS, it'll install both the 32-bit and 64-bit runtimes (eg. c:\windows\microsoft.net\framework64 and ...\framework). Note that VS gets around the same-bitness-debugging restriction (since devenv.exe is always a 32-bit process) by transparently using the remote debugging infrastructure (msvsmon.exe) when debugging 64-bit apps. Other than the feature differences (no EnC, mixed-mode debugging only in CLR v4+), you shouldn't notice the difference. Of course you need to be careful when doing any sort of native interop from your app - the whole process is either 32-bit (running in the WOW on 64-bit OSes) or 64-bit.
Rick- Marked As Answer byRick ByersMSFT, OwnerMonday, November 02, 2009 5:52 PM
All Replies
- It's been supported since .Net 2.0, there's no change in the debugging API and you just can use visual studio to debug, the only thing thats different is that Edit and continue doesn't work for 64 bit processes.
- Marked As Answer byRick ByersMSFT, OwnerMonday, November 02, 2009 5:52 PM
- Proposed As Answer byKarel ZikmundMSFT, ModeratorFriday, October 30, 2009 3:45 PM
- Also I think that the debugger process has to be of the same bitness as the debugee. So no cross-platform debugging.
-Karel- Marked As Answer byRick ByersMSFT, OwnerMonday, November 02, 2009 5:53 PM
- And yes, it is a completely separate runtime (built mostly from the same source of course). If you install the .NET framework on a 64-bit OS, it'll install both the 32-bit and 64-bit runtimes (eg. c:\windows\microsoft.net\framework64 and ...\framework). Note that VS gets around the same-bitness-debugging restriction (since devenv.exe is always a 32-bit process) by transparently using the remote debugging infrastructure (msvsmon.exe) when debugging 64-bit apps. Other than the feature differences (no EnC, mixed-mode debugging only in CLR v4+), you shouldn't notice the difference. Of course you need to be careful when doing any sort of native interop from your app - the whole process is either 32-bit (running in the WOW on 64-bit OSes) or 64-bit.
Rick- Marked As Answer byRick ByersMSFT, OwnerMonday, November 02, 2009 5:52 PM


