C++ 断点在全屏模式下挂起基于DirectX的程序
我开始制作一个游戏,我有一个全局类,读取csv文件,加载两个direct x曲面,并创建背景 这些曲面是一个平铺,另一个曲面是从平铺创建的背景。背景表面不起作用,注入后我检查它,如果为空,则会出现一个消息框。它总是显示消息框 我尝试设置断点以查看是否正确读取csv文件中的值,但程序不会运行。任务栏中出现一个框,程序全屏显示,但屏幕变黑,不显示消息框,只能通过ctrl、alt、del停止 无论我是否放置断点,即使它位于不同的源文件中,这种情况都会发生。有人知道为什么吗 p、 它不是一个多线程应用程序 编辑:C++ 断点在全屏模式下挂起基于DirectX的程序,c++,visual-studio,debugging,directx,breakpoints,C++,Visual Studio,Debugging,Directx,Breakpoints,我开始制作一个游戏,我有一个全局类,读取csv文件,加载两个direct x曲面,并创建背景 这些曲面是一个平铺,另一个曲面是从平铺创建的背景。背景表面不起作用,注入后我检查它,如果为空,则会出现一个消息框。它总是显示消息框 我尝试设置断点以查看是否正确读取csv文件中的值,但程序不会运行。任务栏中出现一个框,程序全屏显示,但屏幕变黑,不显示消息框,只能通过ctrl、alt、del停止 无论我是否放置断点,即使它位于不同的源文件中,这种情况都会发生。有人知道为什么吗 p、 它不是一个多线程应用程
我正在visual studio中使用visual studio 2005和direct x 9.c,如果您的项目未配置为调试模式(而是配置为发行版),您将无法调试,因此您设置的任何断点都将被忽略。这可能就是问题所在。使用directshow时,全屏调试可能会比较麻烦:如果您确实需要这样做,我建议您使用第二个屏幕(这样,您可以在屏幕1上调试,而程序在屏幕2上全屏运行) 如果这不起作用,您将不得不使用远程调试(即在一台计算机上运行程序,在另一台计算机上调试) 最有可能发生的情况是,您的调试点被触发,但您的屏幕被directshow控制,因此无法显示视觉效果。因此,您的程序实际上被visual阻塞,它不响应任何东西(因为事件循环被调试器阻塞) 因此,我要:
- 在窗口模式下运行
- 在双屏模式下运行,调试器在另一屏模式下运行
- 尝试设置远程调试(祝您好运)
- 可能使用旧的好方法来调试printf/跟踪(例如log4cpp)