2014-09-04 65 views
2

我從taniacore網站下載EDK(UEDK2014),我已經成功地在調試模式下使用建UEFI應用下面的命令如何調試UEFI(UDK2014)Shell應用程序使用Visual Studio

C:\UDK2014.Complete.MyWorkSpace\UDK2014.MyWorkSpace\MyWorkSpace> 
build -t VS2012x86 -b DEBUG 

由於它處於調試模式,它將創建一個.pdb文件(SecMain.pdb)。我的問題是如何使用VS 2010 我trided這樣做,通過運行SecMain.exe,將其連接到Visual Studio 2010和啓動調試但不能夠做到這一點調試此二進制文件。任何人都可以做到這一點(使用VS 2010調試UEFi應用程序)嗎?請讓我知道如果你有解決這個問題。

+0

我之前回答過類似的問題,請參見本:http://stackoverflow.com/questions/21171455/building-uefi-driver-using-visual-studio/22083229#22083229 – sun2sirius 2015-03-28 17:24:44

回答

0

是的,你可以使用模擬器,以及@ sun2sirius說。唯一的問題是,如果您的UEFI應用程序或驅動程序直接訪問硬件,模擬器將無濟於事。在這種情況下,不幸的是「printf」是你最好的朋友。如此好的跟蹤/日誌庫將幫助您調試您的驅動程序。

有簡化開發的幾種方法:

  • 寫儘可能多的平臺無關的代碼,你可以。更容易在Windows下的VS IDE中進行調試。 Windows已經保護了內存頁面,調試器將捕獲所有潛在的內存問題; UEFI處於實模式,因此您的平臺相關代碼不會受到訪問衝突指針,緩衝區溢出等的保護。因此,Trace/Log庫又是一大幫助。
  • 有市場就像Arium上的硬件調試器。它可以調試在真實硬件上運行的UEFI應用程序。但它很昂貴,而且您調試的硬件必須具有可用的硬件調試端口。在臺式機上找到它並不難,但在生產型筆記本電腦上卻很罕見!所以如果你需要調試一個特定的平臺,你必須焊接連接器。 UEFI驅動程序開發的
  • 我連的情況下,因爲你必須有內置的UEFI固件(BIOS)安裝才能使用調試器平臺上的調試硬件調試器沒有太大的幫助。
+0

讓我補充一點,鳳凰科技的核心架構師和英特爾®UDK調試器工具實際上可讓您通過串行或USB連接在實際硬件上調試BIOS代碼。這些調試器使用調試代理(在SourceLevelDebugPkg中),該調試代理使用CPU調試寄存器,與Arium相同,通過斷點實現全面的源代碼級調試,I/O端口和內存訪問,變量監視,堆棧跟蹤以及更多更酷的事物。在某些方面,這些調試器比Arium功能更強大,除非這種調試僅在調試代理程序加載後可用,而Arium從復位開始即可使用。 – sun2sirius 2015-12-28 05:13:04

相關問題