1

我在使用最近开始崩溃的旧旧应用程序时遇到问题。我正在尝试调查 DebugDiag 分析,但运气不佳。是否存在锁定的 sql 查询,并且调用线程不会以某种方式消失?然后调用堆栈再次指向 oledb32!CImpIErrorInfo::GetHelpFile+a1。

这是来自 DebugDiag 的信息,我认为与此问题相关:

w3wp.exe_ MyApp _PID_ 7572 _Date__10_21_2010__Time_08_43_22AM_ 720 _Manual Dump.dmp 中的以下线程正在使用 ADO 进行数据库操作。

对 MSADO15!CERRORLOOKUP::GETHELPINFO 的调用源自 oledb32!CImpIErrorInfo::GetHelpFile+a1

...剪辑...剪辑...

线程 17 - 系统 ID 4160 入口点 msvcrt!_endthreadex+2f 创建时间 21.10.2010 0:08:16 在用户模式下花费的时间 0 天 00:11:22.781 在内核模式下花费的时间 0 天 00:27:49.953

该线程正在使用 ADO 进行数据库操作。

对 MSADO15!CERRORLOOKUP::GETHELPINFO 的调用源自 oledb32!CImpIErrorInfo::GetHelpFile+a1

函数源 ntdll!GetUILangID+31
ntdll!LdrpSearchResourceSection_U+186
ntdll!LdrFindResource_U+18
kernel32!FindResourceExW+65
user32!LoadStringOrError+31
user32!LoadStringW+18
msado15!FetchInfo+ba
msado15!CErrorLookup::GetHelpInfo+1e
oledb32!CImpIErrorInfo:: GetHelpFile+a1
msvbvm60!ExecProj::SetModuleCount+a
msvbvm60!CEcProjTypeComp::Release+4
msvbvm60!Rc​​mConstructModuleInstance+8f
oleaut32!DispCallFunc+16a
msvbvm60!VBStrToLong+cf
msvbvm60!FileOutString+bb
msvbvm60! _vbaPrintObj+51
MSWCRUNDesigner +8d!
MSWCRUN!DllUnregisterDesigner+accb
MSWCRUN!DllUnregisterDesigner+af8c
MSWCRUN!DllUnregisterDesigner+a7de
MSWCRUN!DllUnregisterDesigner+7b51
MyApp!DllCanUnloadNow+212e
oleaut32!DispCallFunc+16a
msvbvm60!VBStrToLong+cf
msvbvm60!FileOutString+bb
msvbvm60!
_vbaPrintObj+51
MSWCRUN!DllUnregisterDesigner+8ad3
MSWCRUN!DllUnregisterDesigner+7d13
MSWCRUN!DllUnregisterDesigner+6e64
MSWCRUN!DllUnregisterDesigner+9097
MSWCRUN!DllUnregisterDesigner+8fa6
vbscript!IDispatchInvoke2+b2
vbscript!IDispatchInvoke+59
vbscript!InvokeDispatch+12a vbscript
!InvokeDispatch+12a
CScriptRuntime::RunNoEH+234c
vbscript!CScriptRuntime::Run+62
vbscript!CScriptEntryPoint::Call+51
vbscript!CSession::Execute+c8
vbscript!COleScript::ExecutePendingScripts+144
vbscript!COleScript::SetScriptState+14d
asp!CActiveScriptEngine::TryCall+19
asp!CActiveScriptEngine::Call+31
asp!CallScriptFunctionOfEngine+5b
asp!ExecuteRequest+17e
asp!Execute+24c
asp!CHitObj::ViperAsyncCallback+3f0
asp!CViperAsyncRequest::OnCall+92
comsvc​​s!CSTAActivityWork::STAActivityWorkHelper+32
ole32!EnterForCallback+c4
ole32!SwitchForCallback+1a3
ole32!PerformCallback+54
ole32!CObjectContext::InternalContextCallback +159
ole32!CObjectContext::DoCallback+1c comsvc​​s
!CSTAActivityWork::DoWork+12d
comsvc​​s!CSTAThread::DoWork+18
comsvc​​s!CSTAThread::ProcessQueueWork+37
comsvc​​s!CSTAThread::WorkerLoop+190
msvcrt!_endthreadex+a3
kernel32!BaseThreadStart+34

...剪辑...剪辑...

从 194.241.111.228:26238 到 81.175.250.2:80 的客户端连接
主机头 81.175.250.2:80 GET 请求 /MyApp/netk.asp HTTP 版本 HTTP/1.1 SSL 请求假 存活时间 00:49:33 QueryString
请求映射到
HTTP请求状态 HTR_READING_CLIENT_REQUEST 本机请求状态 NREQ_STATE_PROCESS

4

1 回答 1

0

很难说,但我会从 live.sysinternals.com 抛出 ProcessMonitor/RegMon/FileMon/TcpViewer开始Fiddler也不是一个坏主意。

然后,如果您仍然没有任何线索,我会打破WinDBG,这始终是我的核心选择,因为学习曲线是如此巨大。但是,假设您学习了命令,您可能会在崩溃时中断,然后向后遍历堆栈并可能找出错误的来源。

当然,您可以重新安装所有内容,这可能会解决您的所有问题。

于 2010-10-22T17:55:19.223 回答