Классическое приложение asp (vb6) вылетает при 100% загрузке процессора - PullRequest
1 голос
/ 21 октября 2010

У меня проблемы со старым унаследованным приложением, которое недавно начало падать.Я пытаюсь исследовать анализ DebugDiag, но мне не везет.Либо есть SQL-запрос, который блокирует и каким-то образом вызывающий поток не угасает?Затем снова callstack указывает на oledb32! CImpIErrorInfo :: GetHelpFile + a1.

Вот информация из DebugDiag, которая, я думаю, имеет отношение к этой проблеме:

Следующие потоки в w3wp.exe_ MyApp _PID_ 7572 _Date__10_21_2010__Time_08_43_22AM_ 720 _Manual Dump.dmp выполняет операцию над базой данных с использованием ADO.

Вызов MSADO15! CERRORLOOKELBED из ГЭФБГЭПСНГВИАПИСИ :: GET! CImpIErrorInfo :: GetHelpFile + a1

... clip ... clip ...

Тема 17 - Идентификатор системы 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_d * 186kernel32! FindResourceExW + 65
user32! LoadStringOrError + 31
user32! LoadStringW + 18
msado15! FetchInfo + ba
msado15! CErrorLookup :: GetHelpInfo + 1e
oledb32! CImpIErrorFa1
msvbvm60! ExecProj :: SetModuleCount + a
msvbvm60! CEcProjTypeComp :: Release + 4
msvbvm60! RcmConstructModuleInstance + 8f
oleaut32! DispCallFunc + 16a * 10ff * ms0msvbvm60! FileOutString + bb
msvbvm60! _ vbaPrintObj + 51
MSWCRUN! DllUnregisterDesigner + 8ad3
MSWCRUN!1043 * MSWCRUN! DllUnregisterDesigner + 7b51
MyApp! DllCanUnloadNow + 212e
oleaut32! DispCallFunc + 16a
msvbvm60! VBStrToLong + cf
msvbvm60!
MSWCRUN! DllUnregisterDesigner + 8ad3
MSWCRUN! DllUnregisterDesigner + 7d13
MSWCRUN! DllUnregisterDesigner + 6e64
MSWCRUN! DllUnregisterDesigner + 9097
MSWCRUN! DllUnregisterDesigner + 8fa6
VBScript! IDispatchInvoke2 + b2
VBScript! IDispatchInvoke + 59
VBScript! InvokeDispatch + 13a
VBScript! InvokeByName + 42
VBScript! 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
comsvcs! CSTAActivityWork :: STAActivityWorkHelper + 32
ole32! EnterForCallback + c4 * 1074C3 + 032Calback
ole32! PerformCallback + 54
ole32! CObjectContext :: InternalContextCallback + 159
ole32! CObjectContext :: DoCallback + 1c
comsvcs! CSTAActivityWork :: DoWork + 12d
comsvcs! CST! CSTThread :: DoWork + 18
comsvcs! CSTAThread :: ProcessQueueWork + 37
comsvcs! CSTAThread :: WorkerLoop + 190
msvcrt! _Endthreadex + a3
kernel32! BaseThreadStart + 34

... clip ... clip ...

Клиентское соединение с 194.241.111.228:26238 до 81.175.250.2:80
Host Header 81.175.250.2:80 GET запрос для /MyApp/netk.aspHTTP-версия HTTP / 1.1 SSL-запрос False Time live 00:49:33 QueryString
Запрос сопоставлен с
Состояние HTTP-запроса HTR_READING_CLIENT_REQUEST Собственное состояние запроса NREQ_STATE_PROCESS

1 Ответ

0 голосов
/ 22 октября 2010

Трудно сказать, но я бы начал с удаления ProcessMonitor / RegMon / FileMon / TcpViewer из live.sysinternals.com . Fiddler тоже не будет плохой идеей.

Тогда, если вы все еще не получите никаких подсказок, я бы выбил WinDBG , что всегда является моей ядерной опциейпотому что кривая обучения очень массивна.Но, предполагая, что вы изучите команды, вы можете разбить при сбое, затем пройтись назад по стеку и потенциально выяснить, откуда исходит ошибка.

И, конечно, вы можете просто переустановить все, и это, вероятно, решит все ваши проблемы.

...