[openbeos] Re: user land debugger

  • From: Ingo Weinhold <bonefish@xxxxxxxxxxxxxxx>
  • To: openbeos@xxxxxxxxxxxxx
  • Date: Mon, 02 Jan 2006 22:20:40 +0100

On 2006-01-02 at 16:02:29 [+0100], Ingo Weinhold <bonefish@xxxxxxxxxxxxxxx> 
wrote:
> On 2006-01-02 at 14:50:23 [+0100], Stephan Assmus <superstippi@xxxxxx>
> wrote:
> > 
> > is GDB still supposed to come up in a Terminal when some app crashes?
> 
> In a MiniTerminal, unless someone has changed that.
> 
> > It
> > doesn't happen here anymore, I just see a thread "debug task" in the team
> > that has crashed.
> 
> Doesn't sound good. I haven't changed anything at least.

I have examined the problem. The debug_server blocks on BAlert::Go() for the 
alert it wants to show (DebugServer.cpp:579). This would be just fine, if 
the alert would indeed appear on screen, which it doesn't. So, app server 
folks, it's your turn. :-)

If you need a reliably crashing app, add the following to your 
UserBuildConfig:

        AddFilesToHaikuImage beos bin : crashing_app ;

crashing_app can be invoked on the command line. It even has some fancy 
options to specify the kind of crash. The default is a boring SEGFAULT. :-)

CU, Ingo

PS: A second problem I encountered in the debug server is that the method it 
uses to print it's debug output doesn't seem to work any longer. It opens 
"/dev/dprintf" and uses it to replace the stdout/stderr via dup2(). But 
although open() and dup2() succeed, the printf() outputs don't appear in the 
serial debug output. Not even when directly write()ing to the FD open() 
returned. An "echo Hello > /dev/dprintf" on the command line works though. 
Anyone wants to examine that one?

Other related posts: