Are you sure __debugbreak() does the right thing? It is  a compiler intrinsic 
and we don't generically support compiler intrinsics in the edk2 (no standard 
libs that compilers expect). The portable way to do this in the edk2 is to use 
CpuBreakpoint(); that is defined in the BaseLib.h. 

It has been over 5 years since I looked at this, but if you look in 
https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2/Nt32Pkg/Sec/SecMain.c 
and search for LoadLibraryEx() this is the magic that makes source level debug 
possible for the EFI PE/COFF images. 

Thanks,

Andrew Fish


On Mar 6, 2013, at 10:31 AM, Martin Turnock <martinturn...@yahoo.com> wrote:

> Michael Lorer <michael.lorer <at> opus.de> writes:
> 
>> 
>> 
>> Hello,
>>  
>> I investigated some more in my problem.
>> And traced the problem of the not loaded symbols to an Winnt-API-call in 
> Nt32Pkg/Library/DxeNt32PeCoffExtraActionLib:
>> Library = mWinNt->LoadLibraryEx (DllFileName, NULL, 
> DON’T_RESOLVE_DLL_REFERENCES);
>> That call returns NULL back to Library and therefore the symbols aren’t 
> loaded.
>>  
>> Right now it wasn’t possible for me to debug into the API-call.
>> But with mWinNt->GetLastError(); I get back an errorcode 87:
>> http://msdn.microsoft.com/en-us/library/windows/desktop/ms681382(v=vs.85).aspx
>>  
>> Does someone have any ideas what to check further?
>>  
>> Regards,
>> Michael
>>  
>> Von: Michael Lorer [mailto:michael.lorer <at> opus.de] Gesendet: Dienstag, 
>> 4. 
> Dezember 2012 16:33An: edk2-devel <at> lists.sourceforge.netBetreff: [edk2] 
> Source-level-debugging (NT32 + MS Visual Studio 2010)
>>  
>> Hello,
>>  
>> I set up my UEFI Build-environment as described here:
>> http://uefi.blogspot.de/2012/06/how-to-debug-edk2s-windows-hosted-uefi.html
>>  
>> I’m using Microsoft Windows 7, 64Bit together with MS Visual Studio 2010 
> Premium.
>> Right now I’m able to build the NT32-package and include some own packages 
>> in 
> the build-process, adding them to the Nt32Pkg.inf-file.
>> But I’m not able to get the source level debugging working for other modules 
> than NT32.
>>  
>> When I start SecMain.exe out of Visual Studio and break it during executing 
> the Shell I can step through the code in Visual Studio.
>> But if I add the expression __debugbreak() into the 
>> HelloWorld.efi-application 
> and rebuild everything, the Breakpoint is cached after I start NT32 and run 
> Helloworld.efi in the shell. But no sourcecode is shown.
>> The console throws the following message:
>> WARNING: No source level debug 
> d:\edk2\Build\NT32\DEBUG_VS2010x86\IA32\MdeModulePkg\Application\HelloWorld\Hell
> oworld\DEBUG\HelloWorld.DLL.
>>  
>> The pdb-files are generated and the header-information in the .efi-file to 
> locate the correct pdb-file is also right.
>> Any idea where to look or what to change to get the source level debugging 
> working for my own modules?
>>  
>> Regards,
>> Michael
>> 
>> 
>> ------------------------------------------------------------------------------
>> LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
>> Remotely access PCs and mobile devices and provide instant support
>> Improve your efficiency, and focus on delivering more value-add services
>> Discover what IT Professionals Know. Rescue delivers
>> http://p.sf.net/sfu/logmein_12329d2d
>> 
>> _______________________________________________
>> edk2-devel mailing list
>> edk2-devel <at> lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/edk2-devel
>> 
> 
> Hi Michael,
> 
> Did you get to the bottom of this?
> 
> Regards, Martin
> 
> 
> ------------------------------------------------------------------------------
> Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester  
> Wave(TM): Endpoint Security, Q1 2013 and "remains a good choice" in the  
> endpoint security space. For insight on selecting the right partner to 
> tackle endpoint security challenges, access the full report. 
> http://p.sf.net/sfu/symantec-dev2dev
> _______________________________________________
> edk2-devel mailing list
> edk2-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/edk2-devel


------------------------------------------------------------------------------
Symantec Endpoint Protection 12 positioned as A LEADER in The Forrester  
Wave(TM): Endpoint Security, Q1 2013 and "remains a good choice" in the  
endpoint security space. For insight on selecting the right partner to 
tackle endpoint security challenges, access the full report. 
http://p.sf.net/sfu/symantec-dev2dev
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to