-
September 3rd, 2014, 02:49 AM
#1
How to structure and step through a project using vb.net and vc++.net
Firstly, this post may be in the wrong place - if so, I am sorry and doubtless somebody will move it!
I have a large (to me) project created in VB6 with a DLL which I wrote in VC++ 6.0. It all works fine and has been released (as freeware) for some time.
I initially updated it to vb.net Express 2010 and VC++.net Express 2010 and it sort of works OK but had problems debugging ....
So, now I have a new laptop running Win 8.1 and have installed Visual Basic Express 2013. So, I click on "myproject.vbproj" and it starts up fine and I can walk through the vb.net code using F11 etc. No problem
Now I want to start amending the vc++.net dll that I wrote (it is in native code for speed and also includes some asm for bit handling - because I can do stuff in asm that I would not even know where to start on with C). Let me repeat that, the asm is there for very complicated (to me anyway) bit handling. I say that to stop the lectures on not using asm because it is no quicker because the compiler has to do stuff with registers every time you call an asm routine ...
So, my question "How do I structure this so I can walk, using F11 etc, seemlessly through the vb.net code and the vc++ code?"
Please don't tell me to do it all in vb.net because that will add on many months to the conversion process ...
Many thanks people!
MOPEKS - a freeware program that generates programs that use each other to solve problems. Is this the correct route to a genuinely intelligent machine?
-
September 4th, 2014, 08:07 AM
#2
Re: How to structure and step through a project using vb.net and vc++.net
afaik,
what you ask won't work with the VS2010 express version, since the express version doesn't allow mixed mode debugging.
it "might" work with the 2012 express, but I'm not entirely sure they enabled it there (there was mention about supporting mixed mode in 2012 express).
so for 2010 express
ALL of your code needs to be native, or ALL of it needs to be managed.
you can only debug whatever mode the executable/process starts in.
Edit:
if your version of VS express supports mixed mode, then in the project options, under debug there should be a checkbox for "Enable unmanaged code debugging".
Last edited by OReubens; September 4th, 2014 at 08:13 AM.
-
September 4th, 2014, 04:45 PM
#3
Re: How to structure and step through a project using vb.net and vc++.net
 Originally Posted by OReubens
what you ask won't work with the VS2010 express version, since the express version doesn't allow mixed mode debugging.
AFAICT you're right, but to me the issue here seems to be mixed language debugging rather than mixed mode. While, in fact, that isn't supported by the Express versions either, I have a potential approach to suggest to circumvent that restriction. (Can't test that, though, since I don't have VB .NET installed.)
So, OP: You may try to start your application outside of both VS Express IDEs, then attach the debugger of VC++ to the running process. Then try so set break points in your C++ code and see whether they get hit when you have your app call the respective routines. That way you wouldn't be able to debug both your VB and C++ code in the same session, but at least you could debug both.
A rather daredevil-style variation of the above approach would be to start your app inside the VB .NET debugger, then try to attach the C++ deugger to the running debuggee process. I wouldn't really consider chances for that to work high, but I think at least there is a small chance, so it may be worth a try. If that works, it would allow you to debug your VB and C++ code parts in the same session, yet not in the same debugger.
HTH
Last edited by Eri523; September 4th, 2014 at 04:47 PM.
I was thrown out of college for cheating on the metaphysics exam; I looked into the soul of the boy sitting next to me.
This is a snakeskin jacket! And for me it's a symbol of my individuality, and my belief... in personal freedom.
-
September 5th, 2014, 02:58 PM
#4
Re: How to structure and step through a project using vb.net and vc++.net
 Originally Posted by Eri523
So, OP: You may try to start your application outside of both VS Express IDEs, then attach the debugger of VC++ to the running process.
that relies on "just in time" debugging features, which the express version doesn't do.
more downlevel, that's essentially also the underlying reason why mixed mode debugging doesn't work.
-
September 5th, 2014, 03:42 PM
#5
Re: How to structure and step through a project using vb.net and vc++.net
 Originally Posted by OReubens
that relies on "just in time" debugging features, which the express version doesn't do.
more downlevel, that's essentially also the underlying reason why mixed mode debugging doesn't work.
I'm not exactly sure about actual JIT debugging, but attaching to a running process works with the Express, it's just that the respective menu item remains invisible until advanced features are enabled.
I was thrown out of college for cheating on the metaphysics exam; I looked into the soul of the boy sitting next to me.
This is a snakeskin jacket! And for me it's a symbol of my individuality, and my belief... in personal freedom.
-
September 6th, 2014, 06:53 AM
#6
Re: How to structure and step through a project using vb.net and vc++.net
 Originally Posted by OReubens
afaik,
what you ask won't work with the VS2010 express version, since the express version doesn't allow mixed mode debugging.
it "might" work with the 2012 express, but I'm not entirely sure they enabled it there (there was mention about supporting mixed mode in 2012 express). native, or ALL of it needs to be managed.
you can only debug whatever mode the executable/process starts in.
Many thanks but I said "So, now I have a new laptop running Win 8.1 and have installed Visual Basic Express 2013".
I know it does not work with 2010 - that is why I installed 2013
MOPEKS - a freeware program that generates programs that use each other to solve problems. Is this the correct route to a genuinely intelligent machine?
-
September 6th, 2014, 09:36 AM
#7
Re: How to structure and step through a project using vb.net and vc++.net
Wavering, by the sounds of some of your posts it seems like you've been programming a long time. Given that I'm a bit surprised that you haven't purchased a full version of VS. Maybe you're just waiting for VS 2014?
Last edited by Arjay; September 6th, 2014 at 09:38 AM.
-
September 7th, 2014, 07:48 AM
#8
Re: How to structure and step through a project using vb.net and vc++.net
see the 'edit' in #2. that'll tell you if it's supported.
-
September 7th, 2014, 08:19 AM
#9
Re: How to structure and step through a project using vb.net and vc++.net
 Originally Posted by Arjay
Wavering, by the sounds of some of your posts it seems like you've been programming a long time. Given that I'm a bit surprised that you haven't purchased a full version of VS. Maybe you're just waiting for VS 2014?
Well, I have been programming for many decades but that does not make me a good programmer - just old and slow!
I think I need to rephrase my question to read as follows:
"I had vb.net express 2010 and vc++ express 2010 installed on an XP laptop and it all worked but I was unable to step through my Native Code DLLs to debug them
Now, I have moved to a new win 8.1 laptop and have installed Visual Studio 2013 but cannot call the DLLs as am getting incorrect format errors (probably 32 bit v 64 bit problem). I also note that in trying to create a new DLL in VS2013 there is no provision for Native Code that I can see
So, should I uninstall VS2013 and install vb.net Express 2010 and VC++ Express 2010 (or 2012? Or VS Professional) or what?!"
All help appreciated - I am drowning!
Last edited by wavering; September 7th, 2014 at 08:50 AM.
MOPEKS - a freeware program that generates programs that use each other to solve problems. Is this the correct route to a genuinely intelligent machine?
Tags for this Thread
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|