如何在WPF程序中調試C++ dll?

如題。想要用WPF展示DirectX11場景,在HwndHost類重載BuildWindowCore通過CreateWindow()引入了native窗口,之後用CLR包裝的C++代碼用這個native窗口初始化D3D設備等。請問這麼做可以嗎。然後渲染的更新函數應該怎麼調用呢?還有改怎麼在這個程序中調試c++dll呢?直接跑發現有錯誤。


把它們都放在同一個solution裡面,可以直接step in過去。再說了,如果窗口簡單的話,你可以直接用C++(沒有編輯器)來構造WPF程序,可以省去很多問題。


工程-&>屬性-&>Debug-&>Application process里選Mixed (Managed and native),並有完備的pdb,是可以直接跟進去的。


記得有個enable unmanaged code的開關, Visual Studio的右上角搜索框里搜一下


enable unmanaged code, 然後選擇native project debug啟動, 選擇attach
WPF入口project


啟動wpf進程,打開c++的vs工程,調試附加到進程


推薦閱讀:

keyshot渲染燈具怎麼才能做到光線自然發出?
如何評價酷家樂?

TAG:WindowsPresentationFoundationWPF | CLR | dll | 3D渲染 | DirectX11 |