Valhalla Legends Forums Archive | General Programming | gdb commands

AuthorMessageTime
Yoni
My IDE of choice for Windows is Visual C++.
On Linux, I use Kate and ddd.

Seriously, what kind of crap is that?
Is there something that comes even close on Linux?

And don't give me vim or emacs.
September 2, 2005, 3:38 PM
K
Well, if you don't want to use emacs ;) or vim, you could try something like kdevelop, although I haven't used it in quite some time.
September 2, 2005, 5:38 PM
Yegg
If you use WINE will Visual C++ (Microsoft I'm guessing?) work properly on your computer?
September 2, 2005, 10:35 PM
Yoni
[quote author=Yegg link=topic=12693.msg126697#msg126697 date=1125700530]
If you use WINE will Visual C++ (Microsoft I'm guessing?) work properly on your computer?
[/quote]Let's assume not.
September 2, 2005, 11:35 PM
Yegg
So if you tried using WINE I assume Microsoft Visual C++ (or someother IDE for Visual C++) will function properly on a Linux environment?
September 3, 2005, 1:02 AM
Quarantine
It might and it also might suffer some "consquences" due to a bad compatability layer or something stupid like that.

I'd go with kDevelop. Pretty cool program. But then again, I'm not a Linux person.
September 3, 2005, 1:06 AM
shout
[quote author=Warrior link=topic=12693.msg126710#msg126710 date=1125709573]
It might and it also might suffer some "consquences" due to a bad compatability layer or something stupid like that.

I'd go with kDevelop. Pretty cool program. But then again, I'm not a Linux person.
[/quote]

I've dabbled in linux programming, and I use KDevelop for it. But I've only dabbled.
September 3, 2005, 1:12 AM
Kp
You're welcome to stick with something sucky like Kate if you want, but [url=http://www.vim.org/]Vim/[url] is clearly superior.  For automating the compile, use make.
September 3, 2005, 2:37 AM
Newby
Kp is right. Vim + make will get you through the day.

You can even call make from inside of vim! How much more do you need? :p
September 3, 2005, 4:47 PM
Yoni
[quote author=Newby link=topic=12693.msg126728#msg126728 date=1125766050]
How much more do you need? :p
[/quote]
I'll take "GUIfied debug tracing", please.
September 3, 2005, 11:42 PM
K
Sounds like you want gdb + Insight.

Screenshots
September 4, 2005, 12:20 AM
shout
[quote author="website linked in K's post"]
Some folks will never want to use a GUI to their debugger, some will hate to use any debugger without a GUI. Insight pleases everyone, even your grandmother who likes to hack a little when no one is looking. Insight brings world peace. Insight makes your food taste better.
[/quote]
September 4, 2005, 1:26 AM
kamakazie
[quote author=K link=topic=12693.msg126779#msg126779 date=1125793210]
Sounds like you want gdb + Insight.

Screenshots
[/quote]

How does this compare to ddd, which Yoni is already using? I use to use ddd but I prefer plain-ole gdb now.
September 4, 2005, 6:13 AM
nslay
Yeah uhh...KDevelop kthx (inside joke with Yoni)

[url]http://www.kdevelop.org/[/url]

Its comparable to Visual Studio
It not only supports multiple languages, it also has a nice GUI builder application, memory leak testing tools, project templates, and of course a built-in-debugger and lots and lots more ...  and all at the cost of 13MB of storage

Edit: And it also features a web application builder tool too...you can for example, use it to write php driven sites.

Have a screen shot:
[u]Menu Options[/u]
[img]http://img385.imageshack.us/img385/3962/kdevelop47zw.th.png[/img]

[u]C/C++ Mode[/u]
[img]http://img43.imageshack.us/img43/6631/kdevelop5yl.th.png[/img]

[u]Scripting Mode[/u]
[img]http://img23.imageshack.us/img23/6017/kdevelop29lk.th.png[/img]

[u]All Language Mode[/u]
[img]http://img23.imageshack.us/img23/3876/kdevelop33dy.th.png[/img]
September 4, 2005, 11:29 PM
Kp
[quote author=nslay link=topic=12693.msg126885#msg126885 date=1125876545]memory leak testing tools[/quote]

I'd like to take this opportunity to recommend Valgrind to those who haven't used it.  Its memory checking facilities can make debugging much easier (if you're willing to wait as it runs!).
September 5, 2005, 1:44 AM
Yoni
Insight sounds like a GUI for gdb, not an IDE. I don't want a different GUI for gdb, I want an IDE.

KDevelop looks interesting. I will look further into it later. There are some things I don't like in it, that VS has... But I will check how much I care about them.

Is there nothing that doesn't begin with a capital K?
September 5, 2005, 3:45 AM
nslay
[quote author=Kp link=topic=12693.msg126892#msg126892 date=1125884679]
[quote author=nslay link=topic=12693.msg126885#msg126885 date=1125876545]memory leak testing tools[/quote]

I'd like to take this opportunity to recommend Valgrind to those who haven't used it.  Its memory checking facilities can make debugging much easier (if you're willing to wait as it runs!).
[/quote]

KDevelop uses already existing tools and that includes valgrind.
September 5, 2005, 2:00 PM
Kp
[quote author=Yoni link=topic=12693.msg126899#msg126899 date=1125891911]Insight sounds like a GUI for gdb, not an IDE. I don't want a different GUI for gdb, I want an IDE.

KDevelop looks interesting. I will look further into it later. There are some things I don't like in it, that VS has... But I will check how much I care about them.

Is there nothing that doesn't begin with a capital K?[/quote]

Well, if you're going to use anything designed for KDE, you're going to be stuck with having a K at the front of the name, and quite a bit of bloat too. :)  Even worse, though KDE-tied apps can be run under other window managers, they have (or at least had) a nasty tendency to try to start large parts of KDE, ignoring that I only wanted one program!

Why are you so determined to get an IDE?  The only reason I've ever wanted an IDE on MS-Windows is because it lets me ignore some of the braindamage associated with window management there.  With a well configured X11 window manager, there's really no need to integrate development into a single process.
September 5, 2005, 4:29 PM
nslay
[quote author=Kp link=topic=12693.msg126937#msg126937 date=1125937763]
[quote author=Yoni link=topic=12693.msg126899#msg126899 date=1125891911]Insight sounds like a GUI for gdb, not an IDE. I don't want a different GUI for gdb, I want an IDE.

KDevelop looks interesting. I will look further into it later. There are some things I don't like in it, that VS has... But I will check how much I care about them.

Is there nothing that doesn't begin with a capital K?[/quote]

Well, if you're going to use anything designed for KDE, you're going to be stuck with having a K at the front of the name, and quite a bit of bloat too. :)  Even worse, though KDE-tied apps can be run under other window managers, they have (or at least had) a nasty tendency to try to start large parts of KDE, ignoring that I only wanted one program!

Why are you so determined to get an IDE?  The only reason I've ever wanted an IDE on MS-Windows is because it lets me ignore some of the braindamage associated with window management there.  With a well configured X11 window manager, there's really no need to integrate development into a single process.
[/quote]

Bloat?  It only looks bloaty (and even thats tunable!).
September 5, 2005, 5:38 PM
Yoni
[quote author=Kp link=topic=12693.msg126937#msg126937 date=1125937763]
Why are you so determined to get an IDE? The only reason I've ever wanted an IDE on MS-Windows is because it lets me ignore some of the braindamage associated with window management there. With a well configured X11 window manager, there's really no need to integrate development into a single process.
[/quote]
Because whenever I debug, I feel totally blind.
When I debug with ddd, I feel only half-blind. But I don't like ddd much.

Do you have another solution to this problem?
September 5, 2005, 7:01 PM
Kp
[quote author=nslay link=topic=12693.msg126925#msg126925 date=1125928807][quote author=Kp link=topic=12693.msg126892#msg126892 date=1125884679][quote author=nslay link=topic=12693.msg126885#msg126885 date=1125876545]memory leak testing tools[/quote]I'd like to take this opportunity to recommend Valgrind to those who haven't used it.  Its memory checking facilities can make debugging much easier (if you're willing to wait as it runs!).[/quote]KDevelop uses already existing tools and that includes valgrind.[/quote]
That's a rather refreshing change.  For a while, the KDE folks had a bad habit of trying to roll their own versions of perfectly good tools, which is why we have a KDE screensaver wrapper  that's so badly inferior to XScreenSaver's configurator (as noted in the XScreenSaver FAQ). :)

[quote author=nslay link=topic=12693.msg126956#msg126956 date=1125941907]Bloat?  It only looks bloaty (and even thats tunable!).[/quote]
Has it improved greatly since KDE3, then?  When I last used it, KDE took significantly longer to load than fvwm.  Worse, the system actually used its swapspace on occasion.  Under fvwm, I regularly run upwards of a dozen xterms and various other applications, but it's been months since I had any programs swap out on me.  I liked some of KDE's ideas (in particular, tabbed Konsole was nice), but it was too inefficient for my tastes.

[quote author=Yoni link=topic=12693.msg126964#msg126964 date=1125946865][quote author=Kp link=topic=12693.msg126937#msg126937 date=1125937763]Why are you so determined to get an IDE? The only reason I've ever wanted an IDE on MS-Windows is because it lets me ignore some of the braindamage associated with window management there. With a well configured X11 window manager, there's really no need to integrate development into a single process.[/quote]Because whenever I debug, I feel totally blind.
When I debug with ddd, I feel only half-blind. But I don't like ddd much.

Do you have another solution to this problem?[/quote]
Learn the debugger better?  I don't mean that to sound insulting, but gdb is a very powerful and rather arcane debugger.  Once you get used to using it, it's quite functional.  Some tips to get you started:

Form is windbg => gdb; these are from memory.
[list]
[li]bp => breal[/li]
[li]bl => info break[/li]
[li]bc => del[/li]
[li]bd => disable[/li]
[li]be => enable[/li]
[li]db, dw, dd, dq, da, du => x/FMT, where FMT specifies how you want it shown[/li]
[li]eb, ew, ed, eq ADDR VAL => set {TYPE}ADDR VAL, where TYPE is char, short, int, etc.  The braces are mandatory.[/li]
[li]r REG=VAL => set $REG=VAL[/li]
[/list]

Machine registers are available under the names $reg, e.g. $eax, $ebx, $eip.  As with windbg, you can do things like "read eax and show me the value of the memory at the resulting address" by doing x/b $eax.  See gdb's built-in help command for more information.  In particular, "help x" is worth reading.

[Edit: added more spacing to make the message easier to read.]
September 5, 2005, 7:55 PM
Yoni
How about using F7 to step into and F8 to step over (F10/F11 also welcome), and having the value of a variable show in a tooltip when I leave my mouse pointer over it?

(Possibly KDevelop has this, I haven't checked yet.)
September 5, 2005, 8:27 PM
Kp
[quote author=Yoni link=topic=12693.msg126970#msg126970 date=1125952021]How about using F7 to step into and F8 to step over (F10/F11 also welcome), and having the value of a variable show in a tooltip when I leave my mouse pointer over it?[/quote]

Use [u]s[/u] and [u]n[/u] (step and next, respectively).  If you enter an empty command, the last command is repeated (same as windbg), so you only need to type it out once.  Then just keep hitting enter.  gdb is traditionally command-line driven, so there's no equivalent for printing the value via mouse.  However, I've never missed that functionality.  Of course, I don't use long/annoying variable names, so "p VAR" is no big deal to me. :)
September 5, 2005, 8:58 PM
Yoni
[quote author=Kp link=topic=12693.msg126972#msg126972 date=1125953926]
gdb is traditionally command-line driven, so there's no equivalent for printing the value via mouse.
[/quote]
Exactly the problem. The debugger HAS to be GUI. That's what I meant by being blind.

Anyway, I'm not going to talk about this more before trying some environments which won't happen before the weekend, as it seems.
September 5, 2005, 10:28 PM
nslay
[quote]
Has it improved greatly since KDE3, then?  When I last used it, KDE took significantly longer to load than fvwm.  Worse, the system actually used its swapspace on occasion.  Under fvwm, I regularly run upwards of a dozen xterms and various other applications, but it's been months since I had any programs swap out on me.  I liked some of KDE's ideas (in particular, tabbed Konsole was nice), but it was too inefficient for my tastes.
[/quote]

Well, first of all, we should distinguish that fvwm is a [u]Window Manager (WM)[/u] and is designed to be minimalistic.  Of course it will use less memory, a WM can be as much as a few hundred kilobytes.  A WM decorates your window and sometimes provides you with a task organizer, it also might offer rudimentry configurations.  A [u]Desktop Environment (DE)[/u] is a WM that offers all possible utilities that are commonly used, a DE is also responsible for file management and browsing, as well as task organization and application integration.  DE's are generally easier to configure than WM's.  fvwm is a Window Manager and therefore in its minimalistic nature, requires very little space and memory to run, but its also a hassle to find the commonly used utilities such as viewers and file managers while KDE is a DE, requires a little more memory, it runs a few extra services in the background and provides you with all the utilities you might need. 

I have a Thinkpad T40 Laptop with 512 MB ram and 1 GB swap...I've never used swap.  I never use more than 75% of my ram when running KDE even under heavy use (with tens of firefox browsers open, X-Chat, Gaim, xmms and so forth...or even under heavy compilation).  If you ask me, the application that eats the most memory is the X server.  I use a ported version of KDE for FreeBSD so this might differ as well.  Keep in mind though, I have an advantage with virtual memory over Linux.

KDE uses already existing tools for many things, consider, for example, the KDE print manager uses CUPS or LPD.  The premier integrated movie media viewer Kmplayer uses mplayer.  The Krdesktop uses rdesktop.  As I understand it, Konsole uses xterm, at least on the code level.
KDE also has their own versions of applications.  They have Konqueror, which is the best file manager I've ever used...it sucks for browsing the internet, though, because it lacks a popup blocker and its missing some standards.  KDevelop is also a very good IDE and is comparable to Visual Studio...

If you would like to use a DE, examine other possibilities here
[url]http://www.xwinman.org/[/url]
September 5, 2005, 11:14 PM
Kp
[quote author=nslay link=topic=12693.msg127004#msg127004 date=1125962087]Well, first of all, we should distinguish that fvwm is a [u]Window Manager (WM)[/u] and is designed to be minimalistic.  Of course it will use less memory, a WM can be as much as a few hundred kilobytes.  A WM decorates your window and sometimes provides you with a task organizer, it also might offer rudimentry configurations.  A [u]Desktop Environment (DE)[/u] is a WM that offers all possible utilities that are commonly used, a DE is also responsible for file management and browsing, as well as task organization and application integration.  DE's are generally easier to configure than WM's.  fvwm is a Window Manager and therefore in its minimalistic nature, requires very little space and memory to run, but its also a hassle to find the commonly used utilities such as viewers and file managers while KDE is a DE, requires a little more memory, it runs a few extra services in the background and provides you with all the utilities you might need.[/quote]

I was imprecise in my prior post.  I should have stated that I was including in my figures the supporting functionality outside fvwm's main binary, for instance the pager and drop-open window list.  I've not had to search for any particular supporting utilities, though.  The default install already had word processing, a C compiler, image viewing, ftp/http/https/pop3/imap support, etc.  None of them are integrated with the desktop, nor do I find that to be a defect.  As for file managers - I've never been fond of graphical file maintenance.  I very much prefer using the command line, in conjunction with appropriate scripting.

[quote author=nslay link=topic=12693.msg127004#msg127004 date=1125962087]I have a Thinkpad T40 Laptop with 512 MB ram and 1 GB swap...I've never used swap.  I never use more than 75% of my ram when running KDE even under heavy use (with tens of firefox browsers open, X-Chat, Gaim, xmms and so forth...or even under heavy compilation).  If you ask me, the application that eats the most memory is the X server.[/quote]

I'll grant that the X server uses a fair amount of memory, but KDE's default configuration tended to match X memory usage at startup, and grow from there.

[quote author=nslay link=topic=12693.msg127004#msg127004 date=1125962087]Keep in mind though, I have an advantage with virtual memory over Linux.[/quote]

What do you mean by this?

[quote author=nslay link=topic=12693.msg127004#msg127004 date=1125962087]As I understand it, Konsole uses xterm, at least on the code level.[/quote]

From reading the Konsole documentation, I was under the impression that Konsole shared no common code with xterm.

[quote author=nslay link=topic=12693.msg127004#msg127004 date=1125962087]If you would like to use a DE, examine other possibilities here
[url]http://www.xwinman.org/[/url][/quote]

I'm quite happy with the minimalist design that I have currently. :)
September 6, 2005, 1:31 AM
Adron
I too feel half-blind when using gdb. It is powerful, but it does not use my screen efficiently. With a GUI debugger, I am able to lay out memory dumps, local variable listings, watches, etc, at fixed locations on my screen and then have those update in real time as I step through the program, or every time I hit a breakpoint.

That means one keypress to update them all, and they will be in a fixed location, making it easier for the eye to spot any changes that I am interested in.

Do you not miss that kind of functionality, Kp?
September 6, 2005, 5:29 AM
LoRd
[quote author=Yegg link=topic=12693.msg126709#msg126709 date=1125709326]
So if you tried using WINE I assume Microsoft Visual C++ (or someother IDE for Visual C++) will function properly on a Linux environment?
[/quote]

Yes, but it'll compile for the Windows platform.
September 6, 2005, 6:34 AM
Kp
[quote author=Adron link=topic=12693.msg127047#msg127047 date=1125984585]Do you not miss that kind of functionality, Kp?[/quote]

No, I don't.  I spend too much time working on systems which lack GUI debuggers to get used to it, so now I just go command-line only whether I'm in windbg, gdb, ntsd, or any other debugger.  Upshot is I switch syntaxes quickly now.
September 7, 2005, 1:05 AM
Yoni
[quote author=Adron link=topic=12693.msg127047#msg127047 date=1125984585]
I too feel half-blind when using gdb. It is powerful, but it does not use my screen efficiently. With a GUI debugger, I am able to lay out memory dumps, local variable listings, watches, etc, at fixed locations on my screen and then have those update in real time as I step through the program, or every time I hit a breakpoint.

That means one keypress to update them all, and they will be in a fixed location, making it easier for the eye to spot any changes that I am interested in.

Do you not miss that kind of functionality, Kp?
[/quote]
Yes, that's exactly what I meant.

[quote author=Kp link=topic=12693.msg127210#msg127210 date=1126055159]
No, I don't. I spend too much time working on systems which lack GUI debuggers to get used to it, so now I just go command-line only whether I'm in windbg, gdb, ntsd, or any other debugger. Upshot is I switch syntaxes quickly now.
[/quote]
That's a bad excuse. There has to be a good GUI debugger on any system that more than 1000 people use.
September 11, 2005, 6:06 PM
Kp
[quote author=Yoni link=topic=12693.msg127722#msg127722 date=1126461972][quote author=Adron link=topic=12693.msg127047#msg127047 date=1125984585]I too feel half-blind when using gdb. It is powerful, but it does not use my screen efficiently. With a GUI debugger, I am able to lay out memory dumps, local variable listings, watches, etc, at fixed locations on my screen and then have those update in real time as I step through the program, or every time I hit a breakpoint.

That means one keypress to update them all, and they will be in a fixed location, making it easier for the eye to spot any changes that I am interested in.

Do you not miss that kind of functionality, Kp?[/quote]Yes, that's exactly what I meant.

[quote author=Kp link=topic=12693.msg127210#msg127210 date=1126055159]No, I don't. I spend too much time working on systems which lack GUI debuggers to get used to it, so now I just go command-line only whether I'm in windbg, gdb, ntsd, or any other debugger. Upshot is I switch syntaxes quickly now.[/quote]That's a bad excuse. There has to be a good GUI debugger on any system that more than 1000 people use.[/quote]

Luckily, a Windows system would run out of resources and crash well before 1000 people were using it. ;)  Seriously, I'd love to have a good graphical debugger installed on Windows, but windbg doesn't come preinstalled, the new versions aren't good (not compared to the MDI-based ones), and it's too bulky to install it on every system I must examine.  While I won't deny that GUI debuggers can be nice to use, I just can't agree that a debugger must have a GUI to be useful.
September 11, 2005, 7:07 PM
mynameistmp
I know you want an IDE, but it seems like your only complaints are about the debugger. So, have you tried kdbg ?

http://members.nextra.at/johsixt/kdbg.html

Also, while vims functionality makes it the best text editor for the job (imo), you may find gvim more friendly if you're new to the environment.
November 30, 2005, 8:15 AM

Search