473,609 Members | 2,187 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

why i can`t debug virtual cpp functions?

Every time i am trying to step into virtual funtion debugger tells me "there
is no source code available" and disassemble window appears. If function is
non virtual debugger succefully steps into it and shows source code.
Is there any compiler key that can fix it?
Please help.
Thanks in adv.
Nov 17 '05 #1
10 1332
Is your program mixed mode (native and .NET C++)? There are known (and
frustrating) problems in the debugger with mixed C++ programs. In
particular, in the stack trace you may see that the current execution point
is in a DLL called msworks.dll (or similar, I forget what it is exactly).
Hopping up the stack trace will put you inside your function. Unfortunately,
stepping through will keep bringing up the box you're seeing.

Steve

"Serg" <se***********@ alef.ru> wrote in message
news:OI******** ******@TK2MSFTN GP10.phx.gbl...
Every time i am trying to step into virtual funtion debugger tells me "there is no source code available" and disassemble window appears. If function is non virtual debugger succefully steps into it and shows source code.
Is there any compiler key that can fix it?
Please help.
Thanks in adv.

Nov 17 '05 #2
Thank you for fast answer.
Yes my program is in mixed mode. And all is as you said.
I think i have found the solution.
I had written a simple wrapper without virtual functions that simply recalls
my object

#pragma unmanaged
class IMidLevelObj
{
private:
CMidLevelObj* mObj;
public:
IMidLevelObj ( CMidLevelObj* pObj ) { mObj = pObj; }
virtual ~IMidLevelObj(v oid) { }

int f_init (int ID) { return mObj->f_init (ID); }
};

and now all is ok
I can debug my virtual function f_init() in CMidLevelObj.
"Steve McLellan" <sjm.NOSPAM AT fixerlabs DOT com> ÓÏÏÂÝÉÌ/ÓÏÏÂÝÉÌÁ ×
ÎÏ×ÏÓÔÑÈ ÓÌÅÄÕÀÝÅÅ: news:%2******** ********@TK2MSF TNGP10.phx.gbl. ..
Is your program mixed mode (native and .NET C++)? There are known (and
frustrating) problems in the debugger with mixed C++ programs. In
particular, in the stack trace you may see that the current execution point is in a DLL called msworks.dll (or similar, I forget what it is exactly).
Hopping up the stack trace will put you inside your function. Unfortunately, stepping through will keep bringing up the box you're seeing.

Steve

"Serg" <se***********@ alef.ru> wrote in message
news:OI******** ******@TK2MSFTN GP10.phx.gbl...
Every time i am trying to step into virtual funtion debugger tells me

"there
is no source code available" and disassemble window appears. If function

is
non virtual debugger succefully steps into it and shows source code.
Is there any compiler key that can fix it?
Please help.
Thanks in adv.


Nov 17 '05 #3
Yeah, that'll do it. The debugger seems much more stable running unmanaged
code - on occasion, I compile bits of code up as unmanaged temporarily if
this problem strikes.

Cheers,

Steve

"Serg" <se***********@ alef.ru> wrote in message
news:uw******** ******@TK2MSFTN GP10.phx.gbl...
Thank you for fast answer.
Yes my program is in mixed mode. And all is as you said.
I think i have found the solution.
I had written a simple wrapper without virtual functions that simply recalls my object

#pragma unmanaged
class IMidLevelObj
{
private:
CMidLevelObj* mObj;
public:
IMidLevelObj ( CMidLevelObj* pObj ) { mObj = pObj; }
virtual ~IMidLevelObj(v oid) { }

int f_init (int ID) { return mObj->f_init (ID); }
};

and now all is ok
I can debug my virtual function f_init() in CMidLevelObj.
"Steve McLellan" <sjm.NOSPAM AT fixerlabs DOT com> ÓÏÏÂÝÉÌ/ÓÏÏÂÝÉÌÁ ×
ÎÏ×ÏÓÔÑÈ ÓÌÅÄÕÀÝÅÅ: news:%2******** ********@TK2MSF TNGP10.phx.gbl. ..
Is your program mixed mode (native and .NET C++)? There are known (and
frustrating) problems in the debugger with mixed C++ programs. In
particular, in the stack trace you may see that the current execution

point
is in a DLL called msworks.dll (or similar, I forget what it is exactly). Hopping up the stack trace will put you inside your function.

Unfortunately,
stepping through will keep bringing up the box you're seeing.

Steve

"Serg" <se***********@ alef.ru> wrote in message
news:OI******** ******@TK2MSFTN GP10.phx.gbl...
Every time i am trying to step into virtual funtion debugger tells me

"there
is no source code available" and disassemble window appears. If
function is
non virtual debugger succefully steps into it and shows source code.
Is there any compiler key that can fix it?
Please help.
Thanks in adv.



Nov 17 '05 #4
"Steve McLellan" <sjm.NOSPAM AT fixerlabs DOT com> wrote in
news:#X******** ******@TK2MSFTN GP10.phx.gbl:
Is your program mixed mode (native and .NET C++)? There are known (and
frustrating) problems in the debugger with mixed C++ programs.


I just wanted to add that we're fixing a lot of the frustrating problems
with the stability and performance of mixed-mode debugging in VS2005. I
know it does not help you much as a VS2003 user but I just wanted to let
you know that we're working on it :)

Thanks,
--
Tarek Madkour, Visual C++ Team
This posting is provided "AS IS" with no warranties, and confers
no rights.
Nov 17 '05 #5
Should hope so, too! :-)

I guess there are always problems with new tech, and we should be thankful
we don't have to write off all the C++ code we've got lying around - that's
saved us months as it is (and meant that my OS X devotee boss has been kept
happy). Top of my list (apart from the one already mentioned) would be being
able to look at gcroot pointers in the debugger and getting the 'Local' tab
to show the right stuff - it often seems to be a line behind in mixed mode.
Looking forward to seeing VS2005.

Cheers,

Steve

"Tarek Madkour [MSFT]" <ta****@online. microsoft.com> wrote in message
news:Xn******** *************** ******@207.46.2 48.16...
"Steve McLellan" <sjm.NOSPAM AT fixerlabs DOT com> wrote in
news:#X******** ******@TK2MSFTN GP10.phx.gbl:
Is your program mixed mode (native and .NET C++)? There are known (and
frustrating) problems in the debugger with mixed C++ programs.


I just wanted to add that we're fixing a lot of the frustrating problems
with the stability and performance of mixed-mode debugging in VS2005. I
know it does not help you much as a VS2003 user but I just wanted to let
you know that we're working on it :)

Thanks,
--
Tarek Madkour, Visual C++ Team
This posting is provided "AS IS" with no warranties, and confers
no rights.

Nov 17 '05 #6
"Steve McLellan" <sjm.NOSPAM AT fixerlabs DOT com> wrote in
news:e8******** ******@TK2MSFTN GP10.phx.gbl:
Top of my list (apart from the one already mentioned) would be being
able to look at gcroot pointers in the debugger
We're working on that right now actually :) It is not part of Beta1
though.
and getting the 'Local' tab to show the right stuff - it
often seems to be a line behind in mixed mode.


I don't know the status on this one but I'll make sure we try to get
this fixed as well (if not already).

Thanks,
--
Tarek Madkour, Visual C++ Team
This posting is provided "AS IS" with no warranties, and confers
no rights.
Nov 17 '05 #7
>
Top of my list (apart from the one already mentioned) would be being
able to look at gcroot pointers in the debugger
We're working on that right now actually :) It is not part of Beta1
though.


Yeah, I'd heard rumours. Unfortunately I can't use the betas anyway as I
don't get paid if I spend my time messing around with new shiny toys :-)
and getting the 'Local' tab to show the right stuff - it
often seems to be a line behind in mixed mode.


I don't know the status on this one but I'll make sure we try to get
this fixed as well (if not already).

Great. It might just be my code, but it's definitely not as hot as when
debugging pure native code. If I think of anything else I'll let you know
:-)

Thanks again,

Steve
Nov 17 '05 #8
Right now have started to wait VS2005.
joke :)
"Tarek Madkour [MSFT]" <ta****@online. microsoft.com> ÓÏÏÂÝÉÌ/ÓÏÏÂÝÉÌÁ ×
ÎÏ×ÏÓÔÑÈ ÓÌÅÄÕÀÝÅÅ: news:Xn******** *************** ******@207.46.2 48.16...
"Steve McLellan" <sjm.NOSPAM AT fixerlabs DOT com> wrote in
news:#X******** ******@TK2MSFTN GP10.phx.gbl:
Is your program mixed mode (native and .NET C++)? There are known (and
frustrating) problems in the debugger with mixed C++ programs.


I just wanted to add that we're fixing a lot of the frustrating problems
with the stability and performance of mixed-mode debugging in VS2005. I
know it does not help you much as a VS2003 user but I just wanted to let
you know that we're working on it :)

Thanks,
--
Tarek Madkour, Visual C++ Team
This posting is provided "AS IS" with no warranties, and confers
no rights.

Nov 17 '05 #9
Hi
and getting the 'Local' tab to show the right stuff - it
often seems to be a line behind in mixed mode.


I don't know the status on this one but I'll make sure we try to get
this fixed as well (if not already).

Great. It might just be my code, but it's definitely not as hot as when
debugging pure native code. If I think of anything else I'll let you know


I'm statically linking a wrapper c++ assembly against a native .lib (wrapper
debug settings is set to "mixed", final application has "enable unmanaged
debugging" set), for which I have the source code.

I'm able to step into the native .lib code, but I can't evaluate any
expression (nothing in locals tab, no watch will work, and moving the cursor
to some item won't show its value).

Is it a known problem or am I doing something wrong ?

Best regards and keep up the good work

Thibaut Barrère
Nov 17 '05 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

15
19324
by: Prabu | last post by:
Hi, I'm new to python, so excuse me if i'm asking something dumb. Does python provide a mechanism to implement virtual functions? Can you please give a code snippet also...:) Thanx in advance -Prabu.
18
2205
by: nenad | last post by:
Wouldn't it be nice if we could do something like this: class Funky{ public: auto virtual void doStuff(){ // dostuff } };
62
3355
by: christopher diggins | last post by:
Since nobody responded to my earlier post , I thought I would try to explain what I am doing a bit differently. When multiply inheriting pure virtual (abstract) base classes, a class obviously bloats quickly for each new vtable needed. Execution slows down considerably as well. You can work around this by using interfaces referemnces which have a pointer to the object and a pointer to an external function lookup table. This technique...
7
1674
by: Aguilar, James | last post by:
I've heard that virtual functions are relatively ineffecient, especially virtual functions that are small but get called very frequently. Could someone describe for me the process by which the address of a virtual function is resolved and what the hidden costs associated with virtual functions are? I've heard the same of typeof (that it is inefficient if used in high traffic code) -- if you've the time, could you explain how typeof works...
0
1631
by: Chris F Clark | last post by:
In our C++ project we have some internal bug reporting macros that we use to get useful information when the program does something unexpected. Essentially at the point of the error, we invoke an internal interactive debugger that knows the classes within our system and allow us to walk around the objects that exist at the time of the fault. It mostly works fairly well. That catch being that we have to hand implement some of the code...
4
1750
by: The Stevemeister | last post by:
Hi, I have an entity class (from a rendering engine) with about 100 functions now that are virtual. So far no slowdowns, but since I've done alot of work with OWL and MFC over the years, and I know that when the virtual functions get too many, OWL and MFC result to dispatch tables. Question is, at what point do I say, "At what point do I switch to dispatch tables?"
5
4084
by: alex goldman | last post by:
When compiling this code with g++ -Wall -pedantic -ansi -c program.cpp # this is GCC-3.3.4 ###################################### #include <vector> class b { public: virtual void f() = 0; };
15
3484
by: Philipp | last post by:
Hello I don't exactly understand why there are no static virtual functions. I would have liked something like this: class Base{ static virtual std::string getName(){ return "Base"; } }
0
1326
by: Dustin | last post by:
Hi all, I have the gd and gd2 libraries compiled into my php install, but the jpeg functions do not exist. I found out this is because I don't have jpeg support compiled in specifically. So, I installed the jpeg libraries from ftp://ftp.uu.net/graphics/jpeg/. When configuring, I used the --enable-shared flag. Then I added the --with-jpeg-dir=/usr/ local/lib to the php configure command. When I was all done, I was still getting the...
0
8109
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
8035
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
8534
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
8509
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
0
8374
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
6969
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
1
6034
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new presenter, Adolph Dupré who will be discussing some powerful techniques for using class modules. He will explain when you may want to use classes instead of User Defined Types (UDT). For example, to manage the data in unbound forms. Adolph will...
0
5502
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
4059
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.