Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* Issue with gdbserver --multi / remote-extended on Windows XP
@ 2008-09-17 17:36 Dr. Rolf Jansen
  2008-11-05  1:04 ` Pedro Alves
  0 siblings, 1 reply; 6+ messages in thread
From: Dr. Rolf Jansen @ 2008-09-17 17:36 UTC (permalink / raw)
  To: gdb-patches

I experimented a little bit with gdbserver --multi in remote-xtended  
mode on Windows XP and I had one major problem in debugging a gui  
application. If I regularly quit the gui app, to which gdbserver is  
attached, its open windows remain at the screen, and while although  
inresponsive they are still part of the window hierarchy of Windows.


Observations:
- the gui app is terminates itself by calling exit(0).
- if I quit gdbserver, the open zombie-windows disappear
- in non-multi/remote-extended-mode gdbserver this problem
   does not appear, because gdbserver terminates itself
   together with the application


I found a solution that works for me, although, there might be better  
ways.

At line 1456 of win32-low.c I added:

       TerminateProcess (current_process_handle,
                         current_event.u.ExitProcess.dwExitCode);
       child_continue (DBG_TERMINATE_PROCESS, -1);



This code is added in event-handler switch() of  
get_child_debug_event() and the respective case block looks now like:

     case EXIT_PROCESS_DEBUG_EVENT:
       OUTMSG2 (("gdbserver: kernel event EXIT_PROCESS_DEBUG_EVENT "
		"for pid=%d tid=%x\n",
		(unsigned) current_event.dwProcessId,
		(unsigned) current_event.dwThreadId));
       ourstatus->kind = TARGET_WAITKIND_EXITED;
       ourstatus->value.integer =  
current_event.u.ExitProcess.dwExitCode;
       TerminateProcess (current_process_handle,
                         current_event.u.ExitProcess.dwExitCode);
       child_continue (DBG_TERMINATE_PROCESS, -1);
       CloseHandle (current_process_handle);
       current_process_handle = NULL;
       break;


With these changes in place, regular gui app termination works well  
with gdbserver --multi/remote-extended on Windows XP.

Best regards

Rolf


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2009-01-13 18:22 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-09-17 17:36 Issue with gdbserver --multi / remote-extended on Windows XP Dr. Rolf Jansen
2008-11-05  1:04 ` Pedro Alves
2009-01-13 17:00   ` Pedro Alves
2009-01-13 17:51     ` Daniel Jacobowitz
2009-01-13 17:58     ` Christopher Faylor
2009-01-13 18:22       ` Pedro Alves

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox