Hello,
After reading a mail exchanges about ptrace on Linux, I decided to switch to a newer Linux kernel to see how it modified my problem.
Things got worse. Restarting a program from Visual studio stopped working.
Is there anyone that can explain me how things are supposed to work ?
I think I know the basics. To start, the debugger set the bit 0x100 in EFlags ot the current context, then wine test this bit to check what parameter to send to ptrace to restart the process. It gets blurry after that ... What happens after the traced instruction executes ?
At least three parts are involved: - Linux that handle the first part of the exception - Wineserver - msvcmon. It is the visual C++ remote debugging program, but I think it could be any debugger. There may be a 4th player with the exception handling part of the debugged application but I am not sure.
Thanks
David