eric pouech eric.pouech@wanadoo.fr writes:
either we decide that shell scripts shouldn't be used (easy solution) or we could do something like :
- if the CreateProcess fails, then wait for a certain amount of
time. If after that time the current process isn't currently debugged, then report the error. Otherwise assume what did happen is what has been described above
CreateProcess already waits a couple of seconds for the new process to show up, so it's probably enough to simply check for the debugger once CreateProcess returns.
An easier fix may be to have the script exec the debugger instead of launching it as a child process; this way the debugger parent pid will be the original Wine process, and everything should work fine.
An easier fix may be to have the script exec the debugger instead of launching it as a child process; this way the debugger parent pid will be the original Wine process, and everything should work fine.
well, this has a major holes: - since the process creation in Wine knows the created process is not a PE image, it doesn't set the info on the server side for the newly created process ; after the exec in the shell script, the info cannot be retrieved from the parent, hence an error
furthermore, the event used to synchronize the debugger startup with the exception handler no longer works (mainly because the inheritage is not done thru the preceding step
perhaps, the best fix would be to merge the init_process/new_process server calls
A+