i enabled both load module and debug strings in
debug events and had gflags set the
LDR_SHOW_SNAPS (0x02)
0:000> .restart
CommandLine: C:\masm32\project\setsysteminfo\debugcrap.exe
Symbol search path is:c:\symbols;
srv*c:\Symbols*http://msdl.microsoft.com/download/symbols
ModLoad: 00400000 00404000 image00400000
ModLoad: 77f80000 77ff9000 ntdll.dll
eax=00401000 ebx=7ffdf000 ecx=00000000 edx=00000000 esi=00000000 edi=00000000
eip=77e878c1 esp=0012fffc ebp=00000000 iopl=0 nv up ei pl nz na pe nc
cs=001b ss=0023 ds=0023 es=0023 fs=0038 gs=0000 efl=00000200
DBGHELP: ntdll.dll is stripped. Searching for dbg file
DBGHELP: ntdll - public symbols
c:\symbols\ntdll.dbg\38175B3079000\ntdll.dbg
c:\symbols\ntdll.pdb\380FCC4F2\ntdll.pdb
77e878c1 ?? ???
0:000> t
eax=00401000 ebx=7ffdf000 ecx=00000000 edx=00000000 esi=00000000 edi=0012fd30
eip=77f9fb64 esp=0012fd20 ebp=00000000 iopl=0 nv up ei pl nz na pe nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000202
ntdll!KiUserApcDispatcher+0x4:
77f9fb64 58 pop eax
0:000> t
eax=77f83406 ebx=7ffdf000 ecx=00000000 edx=00000000 esi=00000000 edi=0012fd30
eip=77f9fb65 esp=0012fd24 ebp=00000000 iopl=0 nv up ei pl nz na pe nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000202
ntdll!KiUserApcDispatcher+0x5:
77f9fb65 ffd0 call eax {ntdll!LdrInitializeThunk (77f83406)}
<--- i tried to set a break here olly cant restore it 
=================================
=================================
snip
=================================
=================================
0:000> t
eax=ffffffff ebx=00000000 ecx=00000000 edx=00000000 esi=00000000 edi=0012fd30
eip=77f8343d esp=0012fcac ebp=0012fd1c iopl=0 nv up ei pl zr na po nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000246
ntdll!LdrpInitialize+0x2d:
77f8343d 64a118000000 mov eax,fs:[00000018] fs:003b:00000018=7ffde000
0:000> g
LDR: PID: 0x110 started - 'C:\masm32\project\setsysteminfo\debugcrap.exe'
eax=0012f6f8 ebx=00000000 ecx=0012f75c edx=0012f7a5 esi=00000000 edi=00000000
eip=77f9fa77 esp=0012f6d0 ebp=0012f974 iopl=0 nv up ei pl nz na po nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000206
ntdll!DbgPrint+0x12a:
77f9fa77 64a118000000 mov eax,fs:[00000018] fs:003b:00000018=7ffde000
well even at this point the peb isnt yet fully avl
0:000> !peb
PEB at 7FFDF000
InheritedAddressSpace: No
ReadImageFileExecOptions: No
BeingDebugged: Yes
ImageBaseAddress: 00400000
*** unable to read Ldr table at 00000000
SubSystemData: 0
ProcessHeap: 0
ProcessParameters: 20000
WindowTitle: 'C:\masm32\project\setsysteminfo\debugcrap.exe'
ImageFile: 'C:\masm32\project\setsysteminfo\debugcrap.exe'
CommandLine: 'C:\masm32\project\setsysteminfo\debugcrap.exe'
DllPath: 'C:\masm32\project\setsysteminfo;.
Environment: 0x10000
olly first break occurs only here
Log data
Address Message
Process terminated
77F83406 Unable to restore breakpoint
File 'C:\masm32\project\setsysteminfo\debugcrap.exe'
New process with ID 00000178 created
00401000 Main thread with ID 000002F0 created
77F9FA77 Debug string: LDR: PID: 0x178 started -
'"C:\masm32\project\setsysteminfo\debugcrap.exe"'
so windbg breaks a lot earlier and we can trace ntdlls
mapping and setting up of peb also with
windbg while we cannot trace ntdlls init in ollydbg
the instruction which cant be traced in olly dynamically while windbg
can are as follows
i snipped off the dissassembly part of ntdll.dll if some one is
interested i can paste it provided it is ok to paste the disassembly