Click here to Skip to main content
11,710,824 members (84,100 online)
Rate this: bad
good
Please Sign up or sign in to vote.
See more: C++ Windows
Hi there,

I use Visual C++ 6.0 for my software - legacy software originally developed with MSVC 6.0.

Anyway was working fine in Windows 7 until today. Suddenly the program just won't start any more.

I can't think what the reason was. It suddenly stopped working, and I did a reboot, Windows did an update during the reboot but that can't be the reason, also I rolled back all the updates.

The error is:
Faulting application name: msdev.exe, version: 6.0.8168.1, time stamp: 0x35889589
Faulting module name: KERNELBASE.dll, version: 6.1.7601.17651, time stamp: 0x4e211319
Exception code: 0xe06d7363
Fault offset: 0x0000b9bc
Faulting process id: 0x12e0
Faulting application start time: 0x01cdab02f8cfd6fe
Faulting application path: C:\Programs\Microsoft Visual Studio\Common\MSDev98\Bin\msdev.exe
Faulting module path: C:\Windows\syswow64\KERNELBASE.dll
Report Id: 37e889fb-16f6-11e2-a335-f0def18ffc44

Also when it first started, got this error as well - this one first then the previous one (but don't get this one any more)

Faulting application name: msdev.exe, version: 6.0.8168.1, time stamp: 0x35889589
Faulting module name: ntdll.dll, version: 6.1.7601.17725, time stamp: 0x4ec49b8f
Exception code: 0xc0000005
Fault offset: 0x000344ec
Faulting process id: 0x3f9c
Faulting application start time: 0x01cda7c98218d338
Faulting application path: C:\Programs\Microsoft Visual Studio\Common\MSDev98\Bin\msdev.exe
Faulting module path: C:\Windows\SysWOW64\ntdll.dll
Report Id: 8aa702da-16c3-11e2-a5e3-f0def18ffc44

I can run it in XP mode still - so could do that e.g. to make the release build. But it's not much good for debugging, as my debugged program also runs in XP mode if I do that (with 256 colour too actually).

I want to be able to debug my software in MSVC 6.0 with both msdev.exe and my debugged program running as Windows 7 programs. And despite warnings about compatibility was able to do that just fine until 1pm today (UK time).

Just have no idea what changed and why it stopped working. Anyone got any ideas, anyone encountered anything like this?

Any help or ideas or suggestions much appreciated, thanks.

Robert (Walker)
Posted 15-Oct-12 8:41am
Edited 15-Oct-12 8:45am
v2
Comments
Marcus Kramer at 15-Oct-12 15:10pm
   
I think it is time for you to upgrade your solution to a newer version of Studio.
Richard MacCutchan at 15-Oct-12 15:27pm
   
I think you are likely to get only one answer to this. It is always possible that a recent Windows 7 update has had some adverse effect, but it's unlikely that you will get it fixed. Upgrade now before it's too late.
Sergey Alexandrovich Kryukov at 15-Oct-12 15:29pm
   
Could you run it under debugger to see real exceptions?
--SA
R. Walker at 15-Oct-12 15:35pm
   
I'm already using the Microsoft Visual Studio 2010 Express.

But much prefer Visual 6.0 - there was a major change in the interface after 6.0 which is partly why many still use it - the last version of the older interface (which I find much easier to use).

It's also the expense - £500 to update to the latest version of the full product - which equates to about 10 weeks of income from the software I develop. I have just finished building a house and have very little left in the bank after the build - and with my current low levels of income, would need to save up for maybe six months or more before I'd feel comfortable about spending that much on the compiler, as I have other expenses to find as well.

Especially also since it was working just fine until today. If worse comes to worse will continue to use it in XP mode, and on my netbook too, but - what could it be?

Anyone got any ideas why it might suddenly stop working like this? I wondered if it meant that some of the core dlls of Windows have changed - but why? I hadn't even just installed a program or anything - did install some programs a couple of days ago but not today. Automatic Windows updates today but they had only downloaded, not yet installed when the error first occurred, and after uninstalling them all again it is still there. System File Checker shows no problems at all. The last Windows update was on the 13th two days ago.

I also wondered if Norton might be preventing it from running, as it sometimes silently prevents programs from running and of course does silent updates and had an update today - but nothing shows up in its event history.

What could have changed? Anything else I can check? Anyone got any ideas?
R. Walker at 15-Oct-12 16:06pm
   
Just remembered a bit more (after looking at my notes for the last debug session). I was working with the debugger. Did a simple edit of the resource file with the resource editor. MSVC then crashed. It does that occasionally though not often. I started it up again and nothing happened. Also tried it with a backup of my project in case the current project was causing the crash and that also didn't work. That's when I tried the reboot. So - beginning to wonder if MSVC itself did something when it crashed that caused the issue, and - damaged registry is maybe my top suspicion now, or something like that?? Any thoughts?
SoMad at 15-Oct-12 18:01pm
   
I would try to run Dependency Walker on msdev.exe. If there are missing or corrupted DLLs, you might be able to track it down this way.

Soren Madsen
Robert Inventor at 15-Oct-12 18:34pm
   
Okay ran Dependency Walker and it shows a couple of errors in red
GPSVC.DLL
IESHIMS.DLL
Same error for both|: "Error opening file. The system cannot find the file specified(2)."

Also two warnings in red:

Warning: At least one delay-load dependency module was not found.
Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.

Does this mean anything to you?

Robert Inventor at 15-Oct-12 19:03pm
   
I've found the Ieshims.dll on my computer following these instructions here: http://social.technet.microsoft.com/Forums/en-US/w7itproinstall/thread/8a751f65-ade9-4b8b-a3d3-c720ccbd3d2c/ - it is in my C:\Program Files\Internet Explorer
Robert Inventor at 15-Oct-12 19:10pm
   
And gpsvc.dll is in the c:\Windows\System32 folder. So don't know why dependency walker can't find it.
Robert Inventor at 15-Oct-12 19:36pm
   
Tried profiling it in Dependency Walker, it stops responding after it loads and successfully hooks IERTUTIL.DLL

Had a go at registering gpsvc.dll in case that made a difference get "[Window Title]
RegSvr32

[Content]
The module "gpsvc.dll" was loaded but the entry-point DllRegisterServer was not found.

Make sure that "gpsvc.dll" is a valid DLL or OCX file and then try again."

Rather suspect this isn't the issue as seems unlikely that MSVC just crashing mid edit of a resource file would make any difference to these dlls or whether they are registered or not. But maybe it could what do I know... Interested to hear your thoughts on it!
cariolihome at 15-Oct-12 18:17pm
   
Please, attach minidump and ntdll.dll. With Debugging tools for Windows You can restore stack. It can clarify the situation.
Robert Inventor at 15-Oct-12 18:56pm
   
Sorry don't seem to have Debugging tools for Windows installed. I wonder if it is worth installing it to help fix this? Seems you can only get it as part of the sdk with the default to download the entire sdk for Windows 8 which I don't need right now. Tried to click on "stand alone" in the Microsoft page for it - but it just took me to the sdk page.

I can right click to create a dump in task manager - but that won't work here because the process instantly disappears from the task list. BTW it no longer does the access violation message just the 0xe06d7363 one.

BTW thanks everyone for your help trying to solve this for me :)
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 2

Not too much information to help here, but…

The most usual problem with legacy code while executed in Windows 7 is the permission issue. To figure out it this is the case, please first try to run the application "as administrator". Having logged in as administrator is not enough. You need to elevate the application privileged bases on the user privileges. Here are the options you have:
http://www.sevenforums.com/tutorials/11841-run-administrator.html[^].

Let's assume the application started to work. It means, the permission is the problem. Please check up all the directories and files you are trying to work with. Some of them may be illegal in Windows 7. For a check up, you can do some administrative work and ease up permission of the file system objects involved. But it's much better to modify the code to make it legitimate. There are no cases, for example, when any hard-coded path names can work. Path names should always be calculated during runtime, using some configuration files, user input and other modifiable data. You can also use the executable directory (for read-only stuff only) and the "special folders" associated with the user accounts (and also those under "all users" directory).

—SA
  Permalink  
Comments
R. Walker at 15-Oct-12 16:00pm
   
Thanks, actually I'm doing that already. I run it as administrator already. The thing is though - I can't start up msdev at all now. I can't even get to the blank page with no project loaded. When I click to run it, then nothing happens.

Also - the problem is with msdev.exe itself - it won't run any more. My own software is running just fine in Windows 7, no problems compiling up to date Windows 7 code in MSVC 6.0.

In detail - I get the usual message when I try to run Visual Studio 6.0 "Do you want the following program from an unknown publisher to make changes to your computer". That's just because I elevated its privileges to administrator and of course as legacy software not signed by microsoft.

The process msdev.exe briefly appears in task manager then disappears then if I go to the error log I get the error message posted above.

And - it was working fine until earlier today, I was using it to debug my programs no issues at all, well minor issues but I had sorted those all out long ago - things like the paths and setting the application to always run with admin privileges etc and it was working fine. Stopped working. Did a reboot in hope that would fix it but didn't.

I also tried running it under compatibility mode for XP to see if that made any difference - doesn't work either though it works in "Windows XP Mode" - the Virtual PC thing.

Trying to think if there was anything I did or that happened that could explain it but can't think of anything. Did wonder about a corrupt registry though. Anyone know where the registry settings are kept for MSVC 6.0, might it be worth removing those and trying again?

It is so old that you can just copy the folder to a new computer and it works just fine there - I lost the CD for it long ago while traveling so can no longer install from CD so have had to do that when I transfer it to a new computer but it works okay.
Sergey Alexandrovich Kryukov at 15-Oct-12 16:12pm
   
I did not get it: why running old version of msdev at all (even though it should work, may be something is corrupted, I don't know)? Wouldn't it better to use just the source code and compile it with the newest Visual Studio you have. You know what? I never though VC 6 was a stable project (despite of its long life). In my experience, the decent Visual Studio with .NET starts with VS 2005, and the good one just for C++ is probably 2003. Everything before it is just trash. I remember when we got rid of VS v.6 -- it was a lot of relief. You would likely need to rebuild you old code of the time of VS v.6 anyway, sooner or later, just because the C++ language stuff. How about that?
--SA
R. Walker at 15-Oct-12 16:19pm
   
My code builds fine in Visual Studio 2010 express and I do use that because it picks up a few syntax and runtime errors - but is so limited - no resource editor, can't break on data, and various other issues (the update to the full product is outside my budget right now) - and I find it clunky to use.

I think - the thing is I'm a C programmer, don't do any programming in C++ except for a few things that can only be done in C++ such as finding the special folder locations (say). The whole program is written in C and I work at a pretty low level. So that's probably why Visual C++ 6 works great for me, and the improvements in Visual Studio 2003 + that you talk about - expect those are mainly for C++ programmers, and for me, just adds more clutter and useless stuff (for me) to the interface and makes it harder to use. There is very little in the new interface that is actually of much use to me sadly.

If I have to, will be able to get by - debug some of the time in Visual Studio Express, sometimes in XP Mode, sometimes on my netbook (slow) - and together will be able to do the same things as before but it will be slower and clumsy for me.
Maciej Los at 15-Oct-12 16:52pm
   
I didn't get it... Just build your code in VS 2010 Express Edition, fix the errors and have a fun using newer version of old software. ;)
Tip: If VS 2010 has got a limitations, you can buy a VS 2005 Standard Edition for 49,95$ ;)
Sergey Alexandrovich Kryukov at 15-Oct-12 16:55pm
   
Exactly. Please see my commend to the same OP's comment.
--SA
Sergey Alexandrovich Kryukov at 15-Oct-12 16:54pm
   
Well, this is good: one more reason to fix the code. I actually meant these errors/warnings I would expect you to get as a tool to improve the code. You need to see the benefits of it.
--SA
Robert Inventor at 15-Oct-12 17:23pm
   
Yes I do get warnings like that - but fixed them already - as I run it from time to time in Visual Studio Express mainly for that reason. Also if I get an integer divide by 0, I run it in Visual Studio Express because it breaks on the line where the bug happens while MSVC 6 instead for some reason breaks on the calling routine which just tells you which routine it happened in - those are the main reasons I ococasionally use 2010.

That is a bargain for the standard edition, deals with the expense issue, it is an amount I can find if I need to.

Yes some of the things might be just due to using a very limited version of the newer compiler. It's a pity you can't take the full version for a test drive to try it out. Basically the main things I'm missing are - integrated resource editor that lets you drag / drop to arrange the controls - and the debug break when data changes. What is the resource editor like in Visual Studio 2005?

One minor irritation is - in the drop list of routines that appear at the top of the source code - in Visual Studio 6.0 you have a list of all the routines throughout your project - which with C code is a great feature.

Can see that in C++ projects you might want to see the routines just for the current file, but it is really tedious in a big C code project, you have to keep searching for the routines by name. I'm used to typing the first few letters of the name of the routine there as a quick way to jump to it instantly. Also a neat feature in 6.0 is that as you type it filters the list to the routines that start with those letters. 2010 doesn't do that it just shows the full list all the time and just the routines for the current file. Again the 6.0 way of doing it works much better for a large C code project.

Is there any way to show a list of all the routines used throughout your project in a single list in Visual Studio 2005? And can you show a list that gets filtered to the routines that start with the letters you type?

This is something I do fairly often, I suppose you could get used to searching for the routine instead each time - but especially when you have forgotten its name but know how the name starts, a search will turn up not just the routine you want but variables with names that start the same way and so on- it just takes like a minute or two each time instead of seconds.

At that price I could give Visual Studio 2005 a try indeed, big difference between £50 (as it is after postage in the UK) and £500. That £50 I can pay for with a single week of income from my program.

Also - can you watch local variables in Visual Studio 2005? That was a major issue in Visual Studio 2010 until I found a way to fix it (not sure now how) that you simply couldn't watch local variables at all - which created a bad first impression of the product, perhaps some update or fix or something can't remember now. If they can ship a compiler which doesn't let you watch local variables then you wonder how careful they are in the way they coded it.

The other main minor irritation is that I don't need to be able to collapse the routines, and they keep collapsing accidentally when I click in the wrong place - but that is the sort of thing that is just a matter of getting used to the UI, so not a big deal.

Sergey Alexandrovich Kryukov at 15-Oct-12 18:02pm
   
I don't think that a "limited version" of a compiler is really limited. It's only the Visual Studio features are cut down; I'm pretty much sure the compiler is exactly the same. That said, you are probably going mainly in right direction.

To see all routines, or to find them quickly? With C++, I don't know. I used to see code management products a while ago. I never appreciated C++ much, and shifted to .NET very well; and all the problems we're discussing here are not problem. Frankly, I cannot understand how it's possible to have something based on such archaic thing as includes and linking by name, in XXI century, while all the advanced technologies were invented and used decades ago: Ada, Borland Pascal and Delphi, and a lot more... Even Microsoft keeps C++ way behind -- many Visual Studio's IDE features work very well on C#, but not even close in C++...

Local variables? You can watch them in the Watch window. I'm not sure if Locals window was working with C++. The only difference is that, with Watch, you need to add a variable manually to the watch list, but it is not disappears from the list even of execution goes out of context, so the variables are watched again as soon as you get in some context where the name is defined (even if it is unrelated to the one you added -- only the name is important). To me, this is quite enough to watch local variables, as well as type members.

--SA
Robert Inventor at 15-Oct-12 18:47pm
   
Yes - well I'm going to start on a new program next year and maybe will try some completely different language and approach especially as I want it to be multi-platform to also run on Mac and Linux, so C won't do for that!

Never really liked the look of C++, somehow, (for myself) although not coded in it much. Do like the low level C language. I've been coding on and off since the days of the big main frame computers with punched cards so that might be an influence, don't mind long complicated routines - and lots of low level stuff in them.

While wrapping all that stuff up in a few short sentences I find unintuitive, just not used to thinking like that, find it confusing - you sort of feel you don't really know what is going on somehow, so much of it is handled "behind the scenes".

But who knows maybe I'd get on okay with a really well designed high level language, C++ especially in Windows I gather is a bit of a kludge though works well for many people.

I got the local variables sorted out here for Visual Studio 2010 - so that's okay. For some reason when I first installed it I couldn't even show them in a watch window and didn't see them if I hovered the mouse over a variable - only saw the ones you get automatically as locals very local to whatever the code is in - which wasn't much use. Sorted that out eventually just hope don't get an issue like that with 2005.

Yes I'm sure it compiles fine, but the debugger is limited with no break on data, and also no resource editor in the free version which I miss. Presumably those would be present in the standard version... Can work around the lack of a full listing of all the routines if that's the only thing that it doesn't have, probably will get used to other ways of navigating through the code.

Might get the 2005 from ebay ... it is quite a bargain at that price, and an amount I can find, if it can improve the programs at that price, or speed up productivity, then it is worth doing, same as I use the 2010 at present as an extra tool I use from time to time, would probably continue to use 6.0 if I can get it going again as I do find it really easy to use, just doesn't get in the way, used to it, it fits into the flow of my programming, know how to use it and when I want to code something then can just go ahead and do it while with 2010 I have to keep thinking about how best to do things.
SoMad at 15-Oct-12 20:24pm
   
Or keep shopping around for a cheap, new version. I don't know how much you would pay, but it is possible to find VS2012 Pro for $250: Re: VS2012 without MSDN sub [The Lounge][^]

Soren Madsen
Robert Inventor at 15-Oct-12 20:45pm
   
Thanks, yes that's a good point, no hurry now that I've got 6.0 working, can shop around and see what is available.
Sergey Alexandrovich Kryukov at 15-Oct-12 21:19pm
   
OK, can we wrap it up for now? Will you accept the answer formally (green button)?
(It would not prevent you from getting more answers.)
--SA
Robert Inventor at 16-Oct-12 5:19am
   
Have done that, thanks!
Sergey Alexandrovich Kryukov at 16-Oct-12 12:35pm
   
No really, as I can see... :-)
--SA
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 3

Fixed!

It was a corrupted registry entry.

Deleted the key
HKEY_USERS\S-1-5-21-2880284692-2946324583-1242380101-1000\Software\Microsoft\DevStudio\6.0

and all its subkeys etc
and it is now running fine just as it was before Smile | :)

Thanks for all your suggestions everyone - and I might well get that Visual Studio 2005 offer for $49 seems a good deal.
  Permalink  
v2
Comments
SoMad at 15-Oct-12 20:15pm
   
Great, now you can postpone paying for an upgrade :).
This is good to know. I did not even notice your solution because I was looking into the problem with GPSVC.DLL - sorry if I led you astray with the Dependency Walker suggestion.

Soren Madsen
Robert Inventor at 15-Oct-12 20:26pm
   
Soren, that's okay thanks for your suggestion, and thanks for looking into it for me, learnt from it, and it seemed quite likely at first, when I saw those red errors.
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 4

Open the vc++ 6 as run as administrator.

After you should abel to use, it should work normally. Now i also now used and running sucess fully.
  Permalink  

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 Sergey Alexandrovich Kryukov 549
1 OriginalGriff 260
2 Peter Leow 134
3 Abhinav S 130
4 Richard MacCutchan 90
0 Abhinav S 60
1 Member 4653839 40
2 barneyman 35
3 Sergey Alexandrovich Kryukov 35
4 Member 11793820 35


Advertise | Privacy | Mobile
Web04 | 2.8.150819.1 | Last Updated 16 Oct 2012
Copyright © CodeProject, 1999-2015
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100