Community
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
13 Views

Ok. I'm desperate. Need help with debugger.

Hi. Sorry if this is the wrong spot to post this. I have 32 bit Intel c++ 11.083 installed in 32 bit Ubuntu Linux. I can use idb at the terminal to start the debugger and load my .exe. All the source is there and my program will run. My problem is setting breakpoints. The only way I can see to do it is click on the little blue dots in the left margin. Problem is some source files have no blue dots at all to click on, some have a few at the top. So far I've not been able to get a blue dot anywhere near a source line that I wanna break at.

I'm not compiling with anything special (at least not at the moment). No -openmp, -parallel, no PGO, or IPO. I've tried many command line configurations, but the current debug settings that I'm using are a result of all the advice I've been able to dig up thus far. I've added

-debug all
-debug full
-debug extended

I've disabled optimizations.

I'm right in the middle of a big project, I don't have a lot of time to devote to busting this problem. I've spent considerable time with google trying to find a manual. They are all old versions (command line) or not useful (white pages). The help in the debugger is not working it says "Unable to open help browser on {0}".

Any thoughts?

Thanks!

0 Kudos
5 Replies
Highlighted
Black Belt
13 Views

According to some past posts, idb help depends on setting "mozilla" to be a symlink to firefox (or possibly some other browser of your choice). All it does is set up the browser to read the help files. You can accomplish the same thing by opening the help file index in your browser. If the help files didn't unpack when you installed, you can do that yourself. By running Ubuntu you do take on some responsibilities.
Don't know if some influential customer told them the help button had to start a mozilla symlink, and that this fact should not be documented. One would think other influential customers might have chosen something else. Anyway, idb seems to rely on you reading the forum comments, to find out what others have learned.

If the source code is displaying for the regions in question, it seems that you got -g engaged successfully. What happens when you try to set a break point with a text command, such as 'break nnnnn' ?
No one says you can't use gdb, ddd, or whatever your favorite debugger might be. If I chose Ubuntu, I wouldn't count on it magically making idb do special things.
I don't want to discourage you from trying idb; maybe if more people reported usage it would get more attention, but you say you are short of time for such things. I would have thought that would have led you to choose something other than Ubuntu.
0 Kudos
Highlighted
13 Views

Quoting - tim18
According to some past posts, idb help depends on setting "mozilla" to be a symlink to firefox (or possibly some other browser of your choice). All it does is set up the browser to read the help files. You can accomplish the same thing by opening the help file index in your browser. If the help files didn't unpack when you installed, you can do that yourself. By running Ubuntu you do take on some responsibilities.
Don't know if some influential customer told them the help button had to start a mozilla symlink, and that this fact should not be documented. One would think other influential customers might have chosen something else. Anyway, idb seems to rely on you reading the forum comments, to find out what others have learned.

If the source code is displaying for the regions in question, it seems that you got -g engaged successfully. What happens when you try to set a break point with a text command, such as 'break nnnnn' ?
No one says you can't use gdb, ddd, or whatever your favorite debugger might be. If I chose Ubuntu, I wouldn't count on it magically making idb do special things.
I don't want to discourage you from trying idb; maybe if more people reported usage it would get more attention, but you say you are short of time for such things. I would have thought that would have led you to choose something other than Ubuntu.

Thanks for trying to help. Last night I did move on to GDB 'cause the intel DB is useless to me. I did try to "break nnnn" before and I believe it did set the break, but did not actually break for me. Also the few blue dots that are available do not even break if I set them to.

I gotta say I'm not impressed with this compiler at all. But I do still want to give it the chance it deserves. So I'll keep checking back here hoping for a solution.

Something is wrong when I'm putting an otherwise $600 super compiler aside and reaching for a little freebie compiler!

0 Kudos
Highlighted
Employee
13 Views

Thanks for trying to help. Last night I did move on to GDB 'cause the intel DB is useless to me. I did try to "break nnnn" before and I believe it did set the break, but did not actually break for me. Also the few blue dots that are available do not even break if I set them to.

I gotta say I'm not impressed with this compiler at all. But I do still want to give it the chance it deserves. So I'll keep checking back here hoping for a solution.

Something is wrong when I'm putting an otherwise $600 super compiler aside and reaching for a little freebie compiler!


Please make sure that you compile the code with -O0 -g compiler options to get one to one mapping from source to object code. The Intel compiler with default setting will do the optimization and may move the code arround or eliminate some code segmetnt.
0 Kudos
Highlighted
13 Views

Thanks for trying to help. Last night I did move on to GDB 'cause the intel DB is useless to me. I did try to "break nnnn" before and I believe it did set the break, but did not actually break for me. Also the few blue dots that are available do not even break if I set them to.

I gotta say I'm not impressed with this compiler at all. But I do still want to give it the chance it deserves. So I'll keep checking back here hoping for a solution.

Something is wrong when I'm putting an otherwise $600 super compiler aside and reaching for a little freebie compiler!


Please make sure that you compile the code with -O0 -g compiler options to get one to one mapping from source to object code. The Intel compiler with default setting will do the optimization and may move the code arround or eliminate some code segmetnt.

Thanks. Yeah I was excited when I found out that optimizations are on by default. So I did turn 'em off and still nothing (I did a clean rebuild too). I even added -debug all, -debug full, -debug extended, and still nothing.

Also, for different reasons, Code::Blocks and the GNU debugger were not working either. Code::Blocks does not show the break point in the source code and does not follow along with the debugger (which seems to be working.) So I've switched to Net Beans. The IDE is great, and it makes the GNU debugger sing. Finally a place to code and debug in Ubuntu Linux.

I don't mean to get off subject, I just wanted to leave a solution here for anyone in the future who comes here with the same problems as me. This has cost me 2 days down time, I'd like to save someone else the time and agro.

Also, I believe in my experiments, I could build a debug with Intel C and the GNU debugger could read the debug info. So when get back on schedule I'll probably set Net Beans up to compile with Intel and debug with GNU.

Anyway - gotta get back to work! Thanks for everything so far. As stated earlier, I'm still on the look-out for a fix.

0 Kudos
Highlighted
Black Belt
13 Views

-g (or the Intel specific -debug) do change the default optimization level to -O0. I suppose it is possible that some dead code could be optimized away even at -O0, accounting for scarcity of available break points.
However, if you show that the break points are available to gdb in the same icc compiled code, then it seems clearer that there is an issue with idb. A test case reproducing the problem would be indispensible if you are interested in further action.
One of your statements appeared to say you bought icc for the idb debugger only, not for the compiler. In that case, disappointment would be understandable, particularly if attempting to run on Ubuntu raised additional issues with installation procedures.
0 Kudos