http://bugs.winehq.org/show_bug.cgi?id=24166
--- Comment #4 from Diego Lucio D'Onofrio ddonofrio@member.fsf.org 2010-09-04 06:14:29 CDT --- OK, finally I found a workarrond that works for me. I'm sure this is usefull for all who has the same problem. This is the because I'm posting it here. Anyway, it would be great if the issueet solved.
I have used 2 machines but an shellscript can be created for make it automatic:
After starting Team Fortress, I have opened a terminal and attached to the PID of the process with gdb. After that I have ignored USR1 and STOP signals:
$ ps -ef | grep hl2.exe guile 29151 29130 0 00:54 pts/34 00:05:30 hl2.exe
$ gdb --pid 29151 (gdb) handle SIGSTOP nostop noprint SIGSTOP No Np Yes Stopped (signal) (gdb) handle SIGSEGV nostop noprint Signal Stop Print Pass to program Description SIGSEGV No No Yes Segmentation fault (gdb) handle SIGUSR1 nostop Signal Stop Print Pass to program Description SIGUSR1 No No Yes User defined signal 1 (gdb) c Continuing.
And that's all. The SIGUSR1 and SIGSEGV are because gdb detects several those signals during debuging MS-Windows programs. If you don't include these lines, the debuging will stop over and over again. The SIGSTOP is the real workarround to this issue.