Zitat von
jbg:
Zitat von
stroyer:
Die kleine Veränderung bewirkt, dass statt einem konditionalen Sprung (JZ oder auch 0x74) ein unkonditionaler Sprung (JMP bzw. 0xEB) steht. Dadurch wird GetLastError umgangen und somit die Situation, in der der Debugger geblockt wird.
Das Problem ist, dass man nicht weiß, warum SetThreadContext (nur) unter Windows 7 zusammenbricht. Und da SetThreadContext für einen Debugger eine vitale Funktion ist, kann durch das ignorieren des Fehlers der Debugger aus dem Tritt kommen.
Immerhin kann man dann aber debuggen. Ich bezweifle jedenfalls, dass dieses Problem auf andere Weise in nächster Zeit behoben wird. Alleine weil der Debugger auf 32bit Basis läuft.