Dr. Stephen Henson schrieb: > On Wed, Apr 28, 2010, Modem Man wrote >> Stephen Henson via RT schrieb: >> >>>> [mounir.idra...@idrix.net - Mon Apr 26 20:18:42 2010]: >>>> >>>> Hi, >>>> >>>> This patch adds the /Zi switch to CFLAG in the debug configuration in >>>> order to permit stepping inside OpenSSL code during debug sessions. >>>> It applied to the latest snapshots of 1.0.0 and 0.9.8 source trees. >>>> >>>> >>> Note that 1.0.0 makes the Win32 build system a bit saner: it uses some >>> command line options from the Configure line (like other targets). The >>> debug-VC-WIN32 target already includes -Zi (same as /Zi) so that change >>> is unnecessary. >>> >>> >>> >> Dear Stephen, >> >> I'm using VS2005 and built my 1.0.0 with 'debug-VC-WIN32', and there >> was no /Zi at all. >> Mounir gave me the hint and I modified my .\util\pl\VC-32.pl very >> similiar to his patch. >> AFTER doing this, it worked for me. BEFORE doing this, I was not able to >> jump into the code. >> Not even into the x86 asm representation, which is shown by VS in cases, >> the source can't be found. >> >> So in my opinion, it is indeed required patch for 1.0.0 >> >> With great respect about your work, >> Modem Man >> >> > > That's strange. I've just tried this in the latest 1.0.0-stable tree: > > perl Configure debug-VC-WIN32 > ms\do_nasm > > and in ms\ntdll.mak is this: > > CFLAG= /MDd /Od -DDEBUG -D_DEBUG -DOPENSSL_THREADS -DDSO_WIN32 -W3 -Gs0 -GF > -Gy -Zi -nologo ... > > Note the -Zi and not /Zi. Does that not happen on your system? > > wait a minute...
ms\nt.mak (and compareable ntdll.mak) with original .pl file: CFLAG= /MTd /Od -DDEBUG -D_DEBUG -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -Zi -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE /Fdout32 -DOPENSSL_NO_RC5 -DOPENSSL_NO_MD2 -DOPENSSL_NO_KRB5 -DOPENSSL_NO_JPAKE -DOPENSSL_NO_DYNAMIC_ENGINE with /Zi enriched .pl file: CFLAG= /MTd /Zi /Od -DDEBUG -D_DEBUG -DOPENSSL_THREADS -DDSO_WIN32 -W3 -WX -Gs0 -GF -Gy -Zi -nologo -DOPENSSL_SYSNAME_WIN32 -DWIN32_LEAN_AND_MEAN -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE /Fdout32 -DOPENSSL_NO_RC5 -DOPENSSL_NO_MD2 -DOPENSSL_NO_KRB5 -DOPENSSL_NO_JPAKE -DOPENSSL_NO_DYNAMIC_ENGINE The only difference is just the additional "/Zi", plus the fact that this version works for IDE debugging. Hmm, it looks like "-Zi" doesn't work at all or doesn't work at that particular place? Crazy... What shall I test next? with best regards, Modem Man