-
Website
http://www.monien.net/blog -
Original page
http://www.monien.net/blog/index.php/2009/07/delphi-2009-windows-7-64-bit-debugger-crash-workaround/ -
Subscribe
All Comments -
Community
-
Top Commenters
-
RobertWachtel
1 comment · 1 points
-
djuro
1 comment · 1 points
-
iheinacher
1 comment · 1 points
-
cornerskir
1 comment · 1 points
-
CRM455
1 comment · 1 points
-
-
Popular Threads
Michael
I talked to some Q&A guy of CodeGear, he checked that error on their current internal build, and the error does not seem to be reproducible anymore. So chances are that we might get an update somewhen.
One question here is certainly: what will be released earlier? Delphi next version (Weaver) or Win7?
Michael
*(_DWORD *)(a1 + 3548) = 65551;
if ( SetThreadContext(*(HANDLE *)(v1 + 684), (const CONTEXT *)(a1 + 3548)) != 1 )
{
if ( byte_455BAC )
{
v8 = GetLastError();
v9 = (*(int (__cdecl **)(int))(*(_DWORD *)v1 + 132))(v1);
sub_401B08("setContext osTId 0x%x failed %d", v9, v8);
}
if ( "SetThreadContext failed" )
sub_40C6AC("(!\"SetThreadContext failed\")", "..\\win32src\\thread32.cpp", 434);
}
We can see that the Context flag is set to 65551 and if we look into the comments in the header file (winnt.h):
#define CONTEXT_AMD64 0x100000
#define CONTEXT_i386 0x00010000
...
#define CONTEXT_SEGMENTS (CONTEXT_i386 | 0x00000004L) // DS, ES, FS, GS
so all other flags are combines with either CONTEXT_AMD64 or CONTEXT_i386. It might be worth trying to patch this flag to the corresponding value for AMD64. If someone wants to try:
.text:0043C7F5 C7 83 DC 0D 00 00 0F 00 01 00 mov dword ptr [ebx+0DDCh], 1000Fh
/edit: found this link: http://www.nynaeve.net/?p=129
C7 83 DC 0D 00 00 0F 00 01 00 to C7 83 DC 0D 00 00 15 00 01 00
It changes the Context flag from 65551 (CONTEXT_FULL or CONTEXT_FLOATING_POINT) to 65557 (CONTEXT_ALL)
Additional assertion errors not seen before occured.
Please instruct me where to upload (FTP?), or give me an email adress I can send the attachment to :-)
Best regards
My mailbox has no size limit.
Regards,
Olaf
Hope it will solve the problem for all you guys.
Best regards
LordByte
if anyone so desire. You must provide the
native BORDBGxxxN.dll for inspection, and the
BDS-basekey in the HKEY_CURRENT_USER registry-hive.
Anyway, I hope it works for all of you.
Best regards
Lordbyte
It would be nice if there was an official patch for this, short of Delphi 2010, since it wasn't that long ago that I upgraded to 2009.
GREAT! GREAT! GREAT!!!
Thank you very muche for this solution!!
best Regards
Thanks a million Olaf and LordByte (Patcher worked on my Delphi 2007).
This saved me a lot of time trying to figure out what is going on.
Patch program worked great on D2007.
:)
Chris
I would never have been able to solve this one myself
Patch program worked great on D2007.