前面进行chrome定制开发实践,本文总结chrome调试心得,以备后续使用
一、调试手段
默认,chrome只会打开错误级别,很多调试日志都不输出。在启动时,通过命令行打开日志级别即可。
如果release版本就会在
C:\Users\xxxxxx\AppData\Local\Chromium\User Data 目录下产生一个chrome_debug.log日志
如果是debug版本,就在当前目录下产生一个chrome_debug.log
在代码中我们可以用类似
DVLOG(1) << "hello Device type d3d11va is supported." << 1;
来打印日志跟踪问题。
2、IDE调试
Chrome也可以用xcode,VS等IDE调试。本文以VS2019为例。
A)先启动chrome.exe,由于chrome是多进程工作模式,在调试时将其他无关的chrome页面关闭,仅仅保留调试页面,缩小跟踪的chrome.exe范围。
B)使用VS2019 attach到所有chorme进程(因为chorme是用多进程工作,我们并不知道我们的代码跑在哪个chorme进程,所以要attach到所有进程)。
当然,也可以通过日志定位到这个关注代码执行在哪个进程(日志每一行带有进程ID的),然后仅仅attach这一个进程亦可。
C)在源代码中打断点,即可段住指定进程,然后进程各种手段调试(看内存,看变量,看堆栈,单步等)。
二 、Chromium调试心得