news 2026/4/26 4:37:02

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/4/26 4:35:29

重庆思庄技术分享——oracle添加ACL(访问控制表)的步骤

oracle添加ACL(访问控制表)的步骤 一、新增 步骤 1: 创建 ACL 文件并授予权限 首先,我们创建一个新的 ACL 文件,并允许 INFODBA用户访问外部 HTTP 服务。 BEGIN -- 创建一个新的ACL,允许bakmes用户进行网络访问

作者头像 李华
网站建设 2026/4/18 14:19:28

JX076_PLC在高楼供水系统中的应用

第二章 系统组成及控制要求 2.1系统简介 为改善生产环境,某公司投资清洁水技改工程并建成一座日产水2.5万顿的供水系统,分别建设了抽水泵系统、加压泵系统和高位水池。根据公司用水需求特点,从抽水泵系统过来的水一部分直接供给生产用水部门&…

作者头像 李华
网站建设 2026/4/23 17:38:55

学长亲荐2026TOP10AI论文平台:本科生毕业论文全攻略

学长亲荐2026TOP10AI论文平台:本科生毕业论文全攻略 2026年AI论文平台测评:为何值得一看 随着人工智能技术的不断进步,越来越多的本科生开始借助AI工具辅助完成毕业论文写作。然而,面对市场上琳琅满目的AI论文平台,如…

作者头像 李华
网站建设 2026/4/22 3:39:56

【目标检测】竹林与杂草识别_YOLOv26改进算法研究

1. 【【目标检测】竹林与杂草识别_YOLOv26改进算法研究】 本文链接: 边缘计算 专栏收录该内容 ]( “边缘计算”) 98 篇文章 59.90 99.00 订阅专栏 本文详细介绍了针对竹林杂草识别任务对YOLOv26算法的改进研究。首先分析了原始算法在竹林场景下的局限性&#x…

作者头像 李华
网站建设 2026/4/25 22:25:05

GIF动图怎么加字?高效GIF加字工具推荐

做自媒体配图、电商主图、微信推文或课件动图时,想要给动图加字标注卖点、补充讲解,却总因选不对GIF加字工具踩坑:要么工具操作复杂,新手半天学不会;要么加字后画质模糊、字体边缘发虚,还会让动图体积变大,…

作者头像 李华
网站建设 2026/4/25 5:47:33

在外包干了三年,我废了……不吹不黑!

没错,我也干过外包,一干就是三年,三年后,我废了…… 虽说废的不是很彻底,但那三年我几乎是出差了三年、玩了三年、荒废了三年,那三年,我的技术能力几乎是零成长的。 说起这段三年的外包经历&a…

作者头像 李华