Windows下调试WebRTC源码
Windows下调试WebRTC源码
一、引言
《Windows下编译WebRTC源码》讲述了Windows下编译WebRTC源码的方法。本文在其基础之上,讲述使用Visual Studio调试WebRTC源码的方法。
二、生成Visual Studio工程文件
按照 《Windows下编译WebRTC源码》编译出webrtc.lib 后,执行下面的命令生成Visual Studio的工程文件:
gn gen --ide=vs out\Default
执行成功时输出如下:
然后我们就可以在src\out\Default下找到all.sln这个vs工程文件了:
打开该文件,如果我们之前有安装Visual Studio 2019或Visual Studio 2022,就可以打开成功。这样在Visual Studio中就可以阅读WebRTC源码了:
三、调试WebRTC源码
以要调试WebRTC的其中一个例程peerconnection_client.exe为例,把“解决方案all” -> “src” -> “examples” -> “peerconnection_client”,设为启动项目:
在peerconnection_client的源文件main.cc的wWinMain函数中设置断点:
按下“F5”开始调试:
这样就能调试WebRTC源码了:
四、常见问题
(一)点击“开始调试”时报错:“发生生成错误。是否继续并运行上次的成功生成”
导致该问题的原因可能是修改了项目配置属性中的各种选项,然后在Visual Studio中点了“重新生成解决方案”:
解决方法:
不要修改项目配置属性中的各种选项,不要在Visual Studio中点击“重新生成解决方案”。如果这样做了,删除WebRTC源码目录下的src\out\Default或src\out\Debug目录,然后按照《Windows下编译WebRTC源码》中讲述的方法,通过下面命令重新构建:
gn gen out/Default
ninja -C out/Default
(二)设置断点调试时提示“当前不会命中断点。还没有为该文档加载任何符号”
该问题我也不清楚该如何解决,在WebRTC源码的大部分地方设置断点调试都是没有问题的,但在某些地方会报上述错误,我参考了《关于Visual Studio “当前不会命中断点.还没有为该文档加载任何符号“的解决方法》、《VS2017调试代码显示“当前无法命中断点,还没有为该文档加载任何符号”》、《vs2019“当前不会命中断点 还没有为该文档加载任何符号”》等文章也无法解决问题,反而导致了新的错误。有了解如何解决的朋友麻烦在评论区留言,万分感谢。
更多推荐
所有评论(0)