So CpuBreakpoint(), or just  asm volatile ("int3"); , still won't transfer
control to gdb. :(

asm volatile ("xx: jmp xx;");  however allows me to use ctrl-c in gdb.

I was hoping the following would be of great help:

Index: ShellPkg/Application/Shell/ShellProtocol.c
===================================================================
--- ShellPkg/Application/Shell/ShellProtocol.c  (revision 14307)
+++ ShellPkg/Application/Shell/ShellProtocol.c  (working copy)
@@ -1496,6 +1496,8 @@
     Status = gBS->InstallProtocolInterface(&NewHandle,
&gEfiShellParametersProtocolGuid, EFI_NATIVE_INTERFACE,
&ShellParamsProtocol);
     ASSERT_EFI_ERROR(Status);

+    ShellPrintEx(-1, -1, L"+++ ld: 0x%x\r\n", LoadedImage->ImageBase);
+
     ///@todo initialize and install ShellInterface protocol on the new
image for compatibility if - PcdGetBool(PcdShellSupportOldProtocols)

     //

and combined with:

(gdb) add-symbol-file
../Build/AppPkg/DEBUG_GCC46/X64/AppPkg/Applications/Python/PythonCore/DEBUG/Python.debug
0x3cb3a000

it gives me something close but the function in which I placed the
loop-forever is 0x260 bytes higher up in memory.  So I can adjust the load
address by 0x260 and, VoilĂ , I have symbolic debugging! (for this shell
loaded app)  But is 0x260 a constant or is it going to change?

So nice to have the 'n' step-over command working!  :)

(note: this is qemu 1.4.0, gdb 7.5.1, gcc 4.7.1 but building with -t GCC46,
and without Andrei's sym loader - so I cant step into system calls)
------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to