5

Surely the answer will be "you can't" or "use XP mode", but I'd like to know if it it possible.

The issue I have is that whenever I debug some application and hit a breakpoint, when I stop the debugger the debuggee remains stuck. It can't be killed, I can't attach another debugger (it says it is already being debugged). It won't go away until I close Visual C++.

This is hapenning on a Windows 7 64 bits install. VC has SP 6 installed.

EvilTeach
  • 28,120
  • 21
  • 85
  • 141
Ignacio
  • 1,115
  • 1
  • 7
  • 12
  • Have you tried other debuggers? Try the MS debugging tools for windows and see if you get the same behavior. You can download at http://www.microsoft.com/whdc/Devtools/Debugging/default.mspx – VoidPointer Jan 21 '10 at 16:18
  • Yes, both WinDbg and VS 2008 works fine. It's just that I have some projects which are stuck in VC6. – Ignacio Jan 21 '10 at 16:31
  • For what little its worth - same thing happens on Windows 2003 64Bit with VS6. Very Annoying. Sadly, i'm getting reasonably good at remembering not to stop the debuggee via the debugger... though some times its unavoidable. – Ruddy Jan 21 '10 at 17:02
  • 4
    (shameless plug) You might try using Visual Studio 2008 IDE with VC6 compiler. I recently blogged about this: http://resnikb.wordpress.com/2009/10/28/using-visual-studio-2008-with-visual-c-6-0-compiler – Bojan Resnik Jan 21 '10 at 17:12
  • Well, the solution posted by Bojan worked fine. It even lets me debug from VS2008! So if you could repost that as an answer so I can accept it, it would be great. Thanks! – Ignacio Jan 22 '10 at 17:19

5 Answers5

9

My previous fix was horrible.

Finally, I developped a new fix, working perfectly with the english version of Visual Studio 6. (SP6 I think)

You need to check the version of the file DM.dll located into "Common/MSDev98/Bin"

The correct version is 6.0.9782.0.

link: http://www.dr-hoiby.com/TLLOC.dll (28KB)

how to install: replace "Common/MSDev98/Bin/TLLOC.dll" by the version downloaded.

Best regards.

Dr.Hoiby
  • 106
  • 1
  • 1
  • So, I have to remove your previous Add-In and install this, right? That is what I did and at least it solves the "modify the source while debugging" bug. What else that this fix? – Ignacio Sep 30 '10 at 14:14
  • Work well by my test. Thanks. – Yigang Wu Jun 28 '11 at 02:21
5

Comment reposted:

You can try using Visual Studio 2008 with VC6 compiler. I recently blogged about this.

Bojan Resnik
  • 7,320
  • 28
  • 29
1

I developped a little fix for that. You just have to copy the file "ShiftF5Fix.dll" into "Common/MSDev98/AddIns/" et load it from Visual.

It's an hugly fix. If you modify your source file during debugging you have you answer "NO" to the poup displayed after you press "SHIFT+F5" to stop the process.

link : http://www.dr-hoiby.com/ShiftF5Fix.dll

Best regards

Dr Hoiby
  • 11
  • 1
  • Could you elaborate a bit on how you solved the issue, or maybe make the source code available? Anyway, I've tested your add-in and it works great! Thank you very much. – Ignacio May 11 '10 at 12:37
1

Another option would be to install daffodil. This is an open source project to compile all versions of visual studio in VS2010. Once this is configured you can use visual studio 2010 debugger to debug VC6 projects.

barryjones
  • 2,149
  • 1
  • 17
  • 21
0

On the heels of Dr Holby, I implemented a leaner variant, with source code: http://www.algonet.se/~tamlin/TLLOC_fixer.zip

The code currently only understands sp4 (?) and SP6, but I think it'll cover most cases.

You only need to compile the source (1.cpp, 1.rc), rename your existing TLLOC.DLL (which btw stands for Transport Layer Local - as opposed to remote debugging) to TLLOC.old.dll, and drop in the one you compiled (~4KB). Should work like a charm for all 32-bit debugging needs, from Windows 95 to Windows 7 (and later).

Matthew Bakaitis
  • 11,600
  • 7
  • 43
  • 53
tamlin
  • 1