[英]How to debug DirectShow push source filter?
我嘗試了https://github.com/roman380/tmhare.mvps.org-vcam提供的基於 DirectShow 的示例虛擬相機之一
我能夠編譯和構建,並且在瀏覽器(Chrome 和 Edge)中運行良好。
但如果是 Zoom 和 Team 等桌面應用程序,虛擬攝像頭會被識別但不顯示任何幀。 在選擇這個虛擬相機時,只看到黑屏,而不是預期的 output。
我在閱讀Debugging DirectShow Filters和How to debug c++ DirectShow filter后嘗試調試 我在output pin
class 的構造函數中添加了DbgLog()
DbgLog((LOG_TRACE, 3, TEXT("test string")));
並在Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectShow\Debug\Filters.dll
Filters.dll 的LogToFile
字段中設置文件路徑
但我在vcam-log.txt
中沒有看到任何日志字符串。 我缺少什么或如何在該文件中獲取日志字符串?
調試基於 PushSource/VCam 的過濾器是 Zoom,與調試在外部應用程序上下文中運行的 DLL 項目的方式相同。 即程序是這樣的:
步驟 3-4 可以通過設置項目設置以啟動 Zoom 作為調試目標(項目設置、調試、命令)來替換。
此外,您可能希望在此行上放置一個斷點,並查看調試 output 的確切路由到哪里。 您可能可以在集成的 Debug Output window 中看到它(在使用OutputDebugString
的情況下),或者您可以檢查用於寫入日志的確切文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.