The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

    • RT @nuget: 📢 For .NET Docker users, we have published new images that mitigate these issues by using a pre-release version of the Debian ca… 1 minute ago
    • RT @KevlinHenney: Something that's often puzzled me in some Twitter bios is the claim that RTs from that account are not endorsements 🤔 So… 2 minutes ago
    • RT @JohnHuizinga3: Wij woonden hier met een goede buur die 2500m startbaan mocht gebruiken. MAA gebruikt 250m asfalt als extra start/landin… 5 minutes ago
    • RT @mzelst: Onderstaande tweet klopt dus niet. En over een uur (10:00) komt prof. Snijder uitleggen waar volgens hem de onduidelijkheid zit… 8 minutes ago
    • RT @SarahLi__: Mir ist das erste mal seit Jahren die Kinnlade in einem Gespräch runter gefallen. Patient: 6 Tassen Kaffee am Tag Jede.Ta… 9 minutes ago
  • My Flickr Stream

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 2,230 other followers

Archive for December 7th, 2012

x64 debugging on Windows: usually not directly by the IDE, but trough a debug helper process (msvsmon / PAServer / dbkw64_16_0)

Posted by jpluimers on 2012/12/07

While developing x64 applications, most Windows development tools are actually running in x86 mode, and use an intermediate x64 layer to debug the x64 process even for local debugging.

For Visual Studio 2008 and up, this is msvsmon.exe (for Delphi XE2 and up it is PAServer.exe for remote debugging or [WayBack] dbkw64_16_0.exe for local debugging, other tools use a similar mechanism).

The fun thing with Visual Studio is that when msvsmon.exe fails to load locally, you get a misleading error message:

[Microsoft Visual Studio]
Error while trying to run project: Unable to start debugging.
The Microsoft Visual Studio Remote Debugging Monitor has been closed on the remote machine.

I found two workarounds myself :

  1. Kill msvsmon.exe if it is running but Visual Studio cannot talk to it
  2. Restart Visual Studio if it cannot start msvsmon.exe

I learned the why from Steve Steiner: he posted the StackOverflow answer explaining msvsmon.exe is also used for local x64 debugging.

Delphi XE2 and up sometimes have a similar cryptic message (I forgot to jolt it down, next time I come across it, I will edit this blog post) and usually killing PAServer.exe or dbkw63*.exe or restarting the IDE solves it.



Posted in .NET, Debugging, Delphi, Delphi x64, Development, QC, Remote Debugging, Software Development, Visual Studio 11, Visual Studio 2008, Visual Studio 2010, Visual Studio and tools | Leave a Comment »

%d bloggers like this: