我的MS Outlook 2010中有第三方插件,而且执行速度非常慢。我需要弄清楚确切的瓶颈在哪里。我所知道的是,当我点击插件按钮时,插件由dll(s)组成,并且dll中的函数被调用。我使用反编译工具来分解DLL以查看里面的类文件。但是,该项目太庞大了,我发现很难跟踪其中的函数调用。 所以,我想如果我可以使用WinDBG在调试模式下跟踪函数调用。因此,我在windbg中打开了outlook.exe,在dbg命令窗口中,我给出了命令'g'来开始调试。之后,我使用了outllook中的插件来完成我的工作。但是,在windbg调试控制台中,我没有看到任何记录调用dll的条目,而且,dll中发生的函数调用也没有列出。我得到这样的日志:
(6dc.1064): C++ EH exception - code e06d7363 (first chance)
(6dc.1064): C++ EH exception - code e06d7363 (first chance)
(6dc.1064): C++ EH exception - code e06d7363 (first chance)
(6dc.1064): C++ EH exception - code e06d7363 (first chance)
ModLoad: 74620000 74645000 C:\Windows\system32\POWRPROF.DLL
(6dc.1064): C++ EH exception - code e06d7363 (first chance)
(6dc.1064): C++ EH exception - code e06d7363 (first chance)
(6dc.1064): C++ EH exception - code e06d7363 (first chance)
.
.
.
(6dc.1064): C++ EH exception - code e06d7363 (first chance)
(6dc.1064): C++ EH exception - code e06d7363 (first chance)
(6dc.1064): C++ EH exception - code e06d7363 (first chance)
(6dc.1064): C++ EH exception - code e06d7363 (first chance)
(6dc.1064): Unknown exception - code e0000002 (first chance)
ReminderQueue: ProcessNotification: TABLE_ROW_ADDED
New reminder: Subject == test dbg ApptStartTime: Tue 10/28/2014 10:30 PM, Reminder Trigger: Tue 10/28/2014 10:15 PM
ReminderQueue: ProcessNotification: End<-----
上面日志中列出的dll不是我要调试的第三方DLL。我不知道为什么它没有被列出,当我使用它时,调试开启。我在这里缺少什么?
任何帮助将不胜感激!谢谢!
答案 0 :(得分:3)
我在您的方法中看到以下问题:
答案 1 :(得分:0)
我可能会使用ProcessMonitor和ProcessExplorer来查看缓慢执行的操作。使用后者,您可以找到哪些线程正在占用CPU,而前者可以看到该进程正在执行的IO操作可能需要很长时间。您可以将它与不运行插件的Outlook运行进行比较,以查看正常情况。