Seems like this is an ongoing question without any definitive answer...
I have a hardware driver I'm trying to debug using DuetPkgX64 (need to access
real HW and platforms we have access to don't support SourceLevelDebug...)
After some missteps, I can at least connect to the debug agent running WInDbg.
The problem is that the target keeps reporting an Access Violation in the
TimerInterruptHandler.
This is without my driver being loaded yet.
Before I decide if this is something I can tackle, has anyone encountered
this/know how to resolve?
Thanks!
Kernel Debugger connection established
Debugger data list address is NULL
Connected to eXDI Device 0 x64 target at (Fri May 2 08:42:43.683 2014
(GMT-5)), ptr64 TRUE
Symbol search path is: *** Invalid ***
****************************************************************************
* Symbol loading may be unreliable without a symbol search path. *
* Use .symfix to have the debugger choose a symbol path. *
* After setting your symbol path, use .reload to refresh symbol locations. *
****************************************************************************
Executable search path is:
eXDI Device Kernel Version 0 UP Free x64
Machine Name:
Primary image base = 0x00000000`00000000 Loaded module list =
0x00000000`00000000
System Uptime: not available
The call to LoadLibrary(kdexts) failed, Win32 error 0n2
"The system cannot find the file specified."
Please check your debugger configuration and/or network access.
Access violation - code c0000005 (first/second chance not available)
00000000`bf52e988 0fae07 fxsave [rdi]
0: kd> .sympath C:
\UEFI\EDK2\BUILD\DUETPKGX64\DEBUG_VS2005\X64\MDEMODULEPKG\CORE\DXE\DXEMAIN\DEBUG\
Symbol search path is: C:
\UEFI\EDK2\BUILD\DUETPKGX64\DEBUG_VS2005\X64\MDEMODULEPKG\CORE\DXE\DXEMAIN\DEBUG\
Expanded Symbol search path is: c:
\uefi\edk2\build\duetpkgx64\debug_vs2005\x64\mdemodulepkg\core\dxe\dxemain\debug\
0: kd> .reload /f DXECORE=0x0`BF503000
0: kd> .load C:\Program Files (x86)\Intel\Intel(R) UEFI Development Kit
Debugger Tool\UdkExtension.dll
0: kd> g
Access violation - code c0000005 (first/second chance not available)
DXECORE!TimerInterruptHandle+0xf8:
00000000`bf52e988 0fae07 fxsave [rdi]
0: kd> .echo Target encountered an exception: Vector = 13, Error Code = 00000000
Target encountered an exception: Vector = 13, Error Code = 00000000
0: kd> r
rax=0000000000000000 rbx=0000000000020000 rcx=0000000000000008
rdx=0000000000000000 rsi=0000000000022110 rdi=00000000bf4d1a38
rip=00000000bf52e988 rsp=00000000bf4d1a38 rbp=00000000bf4d1d88
r8=0000000000000000 r9=0000000000000000 r10=0000000000000000
r11=0000000000000000 r12=0000000000000000 r13=0000000000000000
r14=0000000000000000 r15=0000000000000000
iopl=0 nv up di pl nz na pe nc
cs=0038 ss=0018 ds=0018 es=0018 fs=0000 gs=f000 efl=00010002
DXECORE!TimerInterruptHandle+0xf8:
00000000`bf52e988 0fae07 fxsave [rdi] ds:0018:00000000`bf4d1a38=00
00000000`bf52e961 0f23f8 mov dr7,rax
00000000`bf52e964 0f21f0 mov rax,dr6
00000000`bf52e967 50 push rax
00000000`bf52e968 4833c0 xor rax,rax
00000000`bf52e96b 0f23f0 mov dr6,rax
00000000`bf52e96e 0f21d8 mov rax,dr3
00000000`bf52e971 50 push rax
00000000`bf52e972 0f21d0 mov rax,dr2
00000000`bf52e975 50 push rax
00000000`bf52e976 0f21c8 mov rax,dr1
00000000`bf52e979 50 push rax
00000000`bf52e97a 0f21c0 mov rax,dr0
00000000`bf52e97d 50 push rax
00000000`bf52e97e 4881ec00020000 sub rsp,200h
00000000`bf52e985 488bfc mov rdi,rsp
00000000`bf52e988 0fae07 fxsave [rdi] ds:0018:00000000`bf4d1a38=00
00000000`bf52e98b ff7510 push qword ptr [rbp+10h]
00000000`bf52e98e fc cld
00000000`bf52e98f 488bd4 mov rdx,rsp
00000000`bf52e992 4c8bf9 mov r15,rcx
00000000`bf52e995 4883ec28 sub rsp,28h
00000000`bf52e999 e83e9effff call DXECORE!InterruptProcess
(00000000`bf5287dc)
00000000`bf52e99e 4883c428 add rsp,28h
00000000`bf52e9a2 4883c408 add rsp,8
00000000`bf52e9a6 488bf4 mov rsi,rsp
00000000`bf52e9a9 0fae0e fxrstor [rsi]
00000000`bf52e9ac 4881c400020000 add rsp,200h
00000000`bf52e9b3 58 pop rax
00000000`bf52e9b4 0f23c0 mov dr0,rax
00000000`bf52e9b7 58 pop rax
Console output:
Enter DxeIpl ...
Handoff:
Handoff.BfvBase = BF549000, BfvLength = 150000
Handoff.DxeIplImageBase = BF53C000, DxeIplImageSize = D000
Handoff.DxeCoreImageBase = BF502000, DxeCoreImageSize = 3A000
Prepare Cpu HOB information ...
Prepare BFV HOB information ...
Prepare Memory HOB information ...
Prepare NV Storage information ...
NV Storage Base = BF4D2000
Stack Top=0xBF4D2000, Stack Bottom=0xBF4B2000
Prepare DxeCore memory Hob ...
AcpiTable=0xF0B40 SMBIOS Table=0xFCAC0 MPS Table=0xFE710
HobStart = BA4D2000
Memory Top = BF4D2000, Bottom = BA4D2000
Free Memory Top = BF46E000, Bottom = BA4D3060
NvStorageFvb = BF4D2000, Length = 20000
BfvResource = BF549000, Length = 150000
NvStorageFvResource = BF4D2000, Length = 10000
NvStorage = BF4D2048, Length = 4000
NvFtwFvResource = BF4E2000, Length = 20000
NvFtwWorking = BF4E2048, Length = 2000
NvFtwSpare = BF4E4048, Length = 10000
Stack = BF4B2000, StackLength = 20000
PageTable = BF46F000
MemoryFreeUnder1MB = 86000, MemoryFreeUnder1MBLength = 19800
MemoryAbove1MB = 100000, MemoryAbove1MBLength = BF3D2000
MemoryAbove4GB = 100000000, MemoryAbove4GBLength = 140000000
DxeCore = BF502000, DxeCoreLength = 47000
MemoryAllocation = BF46E000, MemoryLength = 44000
$
WELCOME TO EFI WORLD!
Send INIT break packet and try to connect the HOST (Intel(R) UDK Debugger Tool
v1.4) ...
HOST connection is successful!
// Joseph Thomas
// Principal Software Engineer
// Dot Hill Systems
// 2905 NorthWest Blvd., Suite 20
// Plymouth, MN 55441
// 763.226.2640
------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos. Get
unparalleled scalability from the best Selenium testing platform available.
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel