我有一个在发布模式下构建的 shell 扩展,我还生成调试符号和 .pdb 文件。我将构建上下文菜单扩展 .dll 文件的 Visual Studio 程序附加到正在运行的 explorer.exe 进程,我可以在输出窗口中看到程序附加了 explorer 进程事件,如下所示:
'explorer.exe': Unloaded 'C:\Windows\System32\mydocs.dll'
'explorer.exe': Unloaded 'C:\Windows\System32\sendmail.dll'
'explorer.exe': Unloaded 'C:\Windows\System32\zipfldr.dll'
The thread 'Win32 Thread' (0x16d8) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0x1650) has exited with code 0 (0x0).
The thread 'Win32 Thread' (0x1070) has exited with code 0 (0x0).
但它永远不会到达我在函数 Initialize 中设置的断点(形成继承和实现 IshellExtInit 类的类)。当我右键单击文件时,右键单击菜单会使用自定义上下文菜单初始化并执行所需的操作,但不涉及断点!我想知道如何调试,因为我正在尝试为回收站注册上下文菜单并且它不起作用,我想看看代码发生了什么。可在此帖子中找到使用回收站注册的代码: 回收站注册