news 2026/5/27 21:03:44

ACPI断点源代码版--server03调试指南

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ACPI断点源代码版--server03调试指南

ACPI断点源代码版


NTSTATUS LOCAL RunContext(PCTXT pctxt)
{

while (!IsStackEmpty(pctxt))
{
CHKDEBUGGERREQ();
pfh = (PFRAMEHDR)pctxt->LocalHeap.pbHeapEnd;
ASSERT(pfh->pfnParse != NULL);

rc = pfh->pfnParse(pctxt, pfh, rc); 断点1:ACPI!RunContext+0x11f
if ((rc == AMLISTA_PENDING) || (rc == AMLISTA_DONE))
{
break;
}
}

else
{
ReleaseMutex(&gReadyQueue.mutCtxtQ);
if ((rc == STATUS_SUCCESS) && (pctxt->pdataCallBack != NULL))
{
rc = DupObjData(gpheapGlobal, pctxt->pdataCallBack, &pctxt->Result);
}

if (pctxt->dwfCtxt & CTXTF_NEED_CALLBACK)
{
AsyncCallBack(pctxt, rc); 断点2:ACPI!RunContext+0x197

VOID
EXPORT
ACPIGetWorkerForInteger(
IN PNSOBJ AcpiObject,
IN NTSTATUS Status,
IN POBJDATA Result,
IN PVOID Context
)
{

status = ACPIGetConvertToDevicePresence(
request->DeviceExtension,
Status,
Result,
request->Flags,
request->Buffer,
request->BufferSize
); ACPI!ACPIGetWorkerForInteger+0x70


NTSTATUS
ACPIBuildProcessGenericList(
IN PLIST_ENTRY ListEntry,
IN PACPI_BUILD_FUNCTION *DispatchTable
)
{


//
// Call the function
//
status = (buildFunction)( buildRequest );ACPI!ACPIBuildProcessGenericList+0x4d

....

//
// If we have completed the request, then we should look at the
// at the next request, otherwise, we need to look at the current
// request again
if ( workDone == WORK_DONE_COMPLETE || workDone == WORK_DONE_FAILURE) {

currentEntry = tempEntry;

} ACPI!ACPIBuildProcessGenericList+0x50


VOID LOCAL DispatchCtxtQueue(PCTXTQ pctxtq)
{

while ((plist = ListRemoveHead(&pctxtq->plistCtxtQ)) != NULL)
{
pctxt = CONTAINING_RECORD(plist, CTXT, listQueue);

ASSERT(pctxt->pplistCtxtQueue == &pctxtq->plistCtxtQ);

pctxt->pplistCtxtQueue = NULL;
pctxt->dwfCtxt &= ~CTXTF_IN_READYQ;
RunContext(pctxt); ACPI!DispatchCtxtQueue+0xaf
}

VOID
ACPIWorker(
IN PVOID StartContext
)
{

(WorkItem->WorkerRoutine)(WorkItem->Parameter); ACPI!ACPIWorker+0xbd


NTSTATUS
ACPIBuildProcessRunMethodPhaseRecurse(
IN PACPI_BUILD_REQUEST BuildRequest
)
{

//
// Make a request to run the control method on this child
//
status = ACPIBuildRunMethodRequest(
childExtension,
NULL,
NULL,
BuildRequest->RunRequest.ControlMethodName,
BuildRequest->RunRequest.Flags,
FALSE
); ACPI!ACPIBuildProcessRunMethodPhaseRecurse+0x58

bp ACPI!ACPIBuildProcessRunMethodPhaseCheckSta
bp ACPI!RunContext
bp ACPI!ACPIGetConvertToDevicePresence
bp ACPI!Return
bp ACPI!ParseCall
bp ACPI!ACPIBuildRunMethodRequest

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/23 10:09:23

Java毕设项目推荐-基于java+springboot的体育用品购物商城系统基于springboot的运动用品商城系统【附源码+文档,调试定制服务】

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

作者头像 李华
网站建设 2026/5/22 21:56:01

智能体异常处理与恢复:从实验室到生产环境的通关秘籍

智能体的异常处理与恢复是确保其从实验室走向生产环境的关键机制。该体系通过"预防-检测-处理-恢复-优化"的全流程弹性设计,实现精准故障检测、分级错误处理和自我修复能力。与MCP协议、目标设定和监控协同,构建智能体的"免疫系统"&…

作者头像 李华
网站建设 2026/5/21 10:16:19

AI绘画2024年趋势分析:NewBie-image-Exp0.1开源模型+弹性GPU部署

AI绘画2024年趋势分析:NewBie-image-Exp0.1开源模型弹性GPU部署 1. 为什么2024年动漫生成正迎来“轻量化高质量”拐点 过去几年,AI绘画圈一直被两类模型主导:一类是动辄十几亿参数、需要A100/H100才能跑起来的“巨无霸”,另一类…

作者头像 李华
网站建设 2026/5/22 9:08:29

python111-学生在线报名考试管理系统vue3

目录 项目概述核心功能技术栈实现要点应用场景 开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式! 项目概述 Python111-学生在线报名考试管理系统是一个基于Vue3前端框架和Python后端技术构建…

作者头像 李华
网站建设 2026/5/20 23:39:50

python149-共享经济背景下校园闲置物品交易平台vue3

目录共享经济背景下校园闲置物品交易平台(Vue3)摘要平台背景与意义技术架构与核心功能创新点与优势应用场景与展望开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!共享…

作者头像 李华