当用regsvr32注册com的时候,在DllRegisterServer里面断点调试。 在COM项目里面的配置属性配置如下: 我是写的是32位的COM在64位机器运行所以命令要输入C:\Windows\syswow64\regsvr32.exe 64位的COM在64位机器运行默认的**C:\Windows\system32\regsvr32.exe **即可。 What you need is to set up Visual Studio, under C++ Project settings, Debugging, so that it starts C:\Windows\system32\regsvr32.exe with your DLL, i.e. “$(TargetPath)” or full path explicitly. Start debugging and your breakpoints will be hit. Note that in 64-bit OS to debug 32-bit DLL you will need C:\Windows\syswow64\regsvr32.exe. UPD. The fact that no Visual Studio project is available is not really an obstacle. A fake project to just launch debugging session with proper command line is going to work out fine. Other than that if you are still able to update the source code, you can add a MessageBox into DllRegisterServer, esp. instead of DebugBreak, start COM registration, have the message box popped up, then attach Visual Studio debugger (without need to have VS project), set breakpoints and then close the message box to let the execution continue and reach the points of interest. 当你要调试DllUnregisterServer时,配置如下。 要是你要调试你的COM测试程序,把命令改成你对应的exe即可。 看了给我点赞!!!!!!!!!!!!!