• You've discovered RedGuides, an EverQuest multi-boxing and scripting community 🧙‍♀️⚙️. We want you to play several EQ characters at once, come join us and say hello! 👋

  • A TLP without truebox has thawed (Very Vanilla ready)
    Frostreaver

Guide - Debugging in Wine

Joined
Sep 12, 2004
RedCents
17,245¢
While I was on my adventure to get EQ + MQ working in macos, I stumbled across something that I've been trying to do for a while: debug while running under wine. The solution still requires a VM, but only for visual studio. The trick here is that you want to set up remote debugging, but it's kind of a pain.
  1. Install visual studio in your VM of choice (I did it in parallels, but it should work in qemu or whatever else)
  2. Install wine, set up EQ+MQ as per regular wine installation instructions (I know there's at least one guide here on RG to do it, here's @Knightly's guide for a steam deck: Steam Deck Guide and here's another one: MQ + EQ Linux Guide)
  3. Next you want to install the remote debugging tools from microsoft into your prefix
    1. The general guide is here: Remote Debugging a C++ Project in Visual Studio
    2. The download you want is here: Download (Select AMD64). the 2026 version will work with 2022 and 2026, which are the only two versions of VS that work with MQ, so just grab 2026
  4. After that's installed, grab the webservices dll file from here: webservices.dll -- the site looks sketch, but it worked for me so it's probably okay. You'll want the 64 bit and 32 bit latest versions (10.0.18362.1)
  5. Copy those dll files into the installed remote debugger directories for each architecture. It should be something like this: <prefix>/drive_c/Program Files/Microsoft Visual Studio 18.0/Common7/IDE/Remote Debugger/<arch> where arch is x86 or x64.
  6. open up winecfg for your prefix, and in the Libraries tab, add a new override for webservices and importantly set it to native (by clicking on edit), specifically without builtin, only native.
  7. start up msvsmon.exe with wine in your prefix.
    1. Importantly, choose the correct version for which client you want to debug: x64 for live and x86 for emu
    2. I had to change it to do un-authenticated windows because I couldn't figure out the Administrator password in the wine install.
  8. In your VM, open up Visual Studio and select Debug -> Attach to Process...
    1. Change the connection type to Remote (Windows - No Authentication)
    2. Type in the IP of your host that is running wine (you might also need to set the port which is default 4026)
    3. the list of processes should pop up, and you can select eqgame or the launcher and hit Attach
This should be all you need to get it working, good luck!
 
Guide - Debugging in Wine

Users who are viewing this thread

Back
Top
Cart