News:

The new Release 25.03 is out! You can download binaries for Windows and many major Linux distros here .

Main Menu

Debug in a separate window?

Started by Keeper, December 29, 2009, 10:52:14 PM

Previous topic - Next topic

Keeper

I have an application that uses a shared library.  I am debugging this shared library.  When I debug the library in C::B, it works fine except I have no access to the base program to send it commands and change options.

Is there any way to launch the debug process in a separate terminal window when everything is handled through bash and GDB?  In other words, how do I run the base application as a console application?  Since it is being run from GDB?

C::B 8.02
Linux Mint 7/Ubuntu 9.04 (Gnome)

Thanks,
Keeper

EDIT:  Other than attaching to it after I run it via a script?

oBFusCATed

Do you have the source of the host application and do you have a C::B project for it?
If you have, you could make a workspace that contains the application and the library.
Then you could debug the application and set breakpoints in the library code (I think).
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Keeper

No, the source application is a private app.  I'm writing a plugin for it, so I have the SDK, but not the full blown code.

Jenna

It should work, if you set it as host application in "Project -> Set programs arguments..." .

Keeper

The debugging works, but I have no interaction with the main program.  That's the problem.  KDevelop offers me a checkmark to debug in a separate window.  Didn't known if C::B had the same sort of option or workaround.

Jenna

I'm not sure what you mean.
If you are able to debug and set breakpoints the interaction with the main app should work as if you do not run it through the debugger.

If I create a C::B plugin, I can link it again and run it through a stripped version of C::B (no debugging symbols). I can interact with the main app (C::B in this case) as if I debug the plugin with the C::B sources available.

Keeper

Ok, let me clear it up a bit  :D

Say you open a terminal, and change directories to where the executable is.

I run this executable and it runs in that same terminal window.  It doesn't open a new window, it's a text/console application.

So when you run it via the debugger, it only shows up if I turn on debugging log.  Even then it doesn't show everything.  In order to run debugging from C::B, I would need to somehow tell GDB ( I guess ) to start this up in another window.   Or C::B could open the console and bash all the commands via that and then the program would start in that window instead of "behind the scenes" in C::B.


oBFusCATed

jens: he wants the host app to be run inside terminal, I think.

C::B should be modified to support this feature. I'll add it in my TODO for the debugger branch.
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Keeper

Quote from: oBFusCATed on December 31, 2009, 01:34:02 AM
jens: he wants the host app to be run inside terminal, I think.

Why is it I can never seem to express exactly what I want?!??!?!?!   Yes, that is exactly what I was trying to say.  :D

Jenna

Quote from: Keeper on December 31, 2009, 01:45:07 AM
Quote from: oBFusCATed on December 31, 2009, 01:34:02 AM
jens: he wants the host app to be run inside terminal, I think.

Why is it I can never seem to express exactly what I want?!??!?!?!   Yes, that is exactly what I was trying to say.  :D
I understood after your answer to my previous post.

What you can try, is to start the app in a console, get the pid with ps and attach the debugger via "Debug -> Attach to process".
I never did this, so I don't know how usable it is.

Keeper

You can attach to the process once it's running.  But if you want to debug the program as it loads, you are out of luck.  Any news as to when this will be added to the debugging features?

TIA,
Keeper

oBFusCATed

What a coincidence, I started work on this feature yesterday :)
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Keeper

This is great news!!!  Thank you  :D

Keeper

I've been out of the linux dev side for a while ... I have downloaded the latest from the SVN.   I didn't see where I can set this type of debugging up.  Is this implemented yet?

oBFusCATed

(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]