首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >UEFI edk2 2/FmpDevicePkg在天幕爆炸后坠毁

UEFI edk2 2/FmpDevicePkg在天幕爆炸后坠毁
EN

Stack Overflow用户
提问于 2022-05-16 11:42:16
回答 1查看 82关注 0票数 0

我在tianocore/edk2 2中构建了FmpDevicePkg。然后,我在EmulatorX64和Minnow中加载eif驱动程序。没有任何消息就坠毁了。我可以用Visual为其他驱动程序/应用程序包设置断点。然而,对于FmpDevicePkg,它不能设置断点,并在加载驱动程序后直接崩溃。有人知道如何调试吗?或者如何测试FmpDevicePkg驱动程序?(或相关胶囊)任何建议都是非常感谢的。

谢谢!我

EN

回答 1

Stack Overflow用户

发布于 2022-05-27 05:18:31

我跟踪了代码,发现它挂在以下位置:

(PcdTestKeyUsed);

  • PcdSetBoolS (
  1. PcdGetBool PcdTestKeyUsed,真);

详情如下:\edk2 2\FmpDevicePkg\FmpDxe\ DetectTestKey.c

代码语言:javascript
复制
  DetectTestKey (
  VOID
  )
  {
   ….
  // If PcdTestKeyUsed is already TRUE, then skip test key detection
  //
  TestKeyUsed = PcdGetBool (PcdTestKeyUsed); -> system hang
  ..
  // If test key detected or an error occurred checking for the test key, then
  // set PcdTestKeyUsed to TRUE.
  //
  if (TestKeyUsed) {
    DEBUG ((DEBUG_INFO, "FmpDxe(%s): Test key detected in PcdFmpDevicePkcs7CertBufferXdr.\n", mImageIdName));
    PcdSetBoolS (PcdTestKeyUsed, TRUE);   -> system hang

我修改了\MdeModulePkg\MdeModulePkg.dec

代码语言:javascript
复制
PcdsDynamic, PcdsDynamicEx]
  gEfiMdeModulePkgTokenSpaceGuid.PcdTestKeyUsed|FALSE|BOOLEAN|0x00030003

详情如下:

代码语言:javascript
复制
[PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx]
  gEfiMdeModulePkgTokenSpaceGuid.PcdTestKeyUsed|FALSE|BOOLEAN|0x00030003

效果很好。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72258647

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档