Windows环境下Chromium调试

Pet*_*ter 0 c++ debugging google-chrome chromium visual-studio

如何在Windows平台上调试chrome本身,我熟悉Visual Studio和c#调试。

\n\n

这是我感兴趣的代码部分

\n\n

我应该从源代码构建吗?或者可以在不弄乱源代码的情况下记录所有必要的数据?

\n\n

我在网上查了一下,但我不熟悉健壮的 C++ 项目。(如符号表等,\xe2\x80\xa6)

\n\n

所以我的问题是:

\n\n

逐步调试该方法的最简单方法是什么?链接中的内容是什么?

\n

Pet*_*ter 5

在我的示例中通过 vs 2017 调试 chrome 的分步说明我将使用“c:\Files\Work\chromium\”文件夹

安装:

使用“C++ 桌面开发”安装 VS2017,来自:https ://www.visualstudio.com/downloads/ 在此输入图像描述

步骤安装 python 2.x,路径来自:https ://www.python.org/downloads/ 在此输入图像描述

从以下位置获取 depot_tools: https: //storage.googleapis.com/chrome-infra/depot_tools.zip

将其解压缩到“c:\Files\Work\chromium\”中,由于隐藏文件,请右键单击“全部解压...”

打开电源销售

更改文件夹:

cd c:\Files\Work\chromium\

检查python安装是否正确:

蟒蛇——版本

Python 2.7.13

设置环境变量:

$env:DEPOT_TOOLS_WIN_TOOLCHAIN=0

$env:GYP_MSVS_VERSION=2017

$env:path = $env:path + ";c:\Files\Work\chromium\depot_tools\"

为 chromium 源代码创建文件夹:

mkdir 铬 && cd 铬

下载源码(20gb需要一段时间)

获取铬

g客户端同步

切换到src文件夹:

光盘源文件

生成vs2017项目文件:

gn gen --ide=vs2017 --filter//chrome/* --args="is_component_build = true is_debug = true remove_webcore_debug_symbols = true" out\Default

打开 Visual Studio 2017:

启用源服务器:

工具->选项->调试->常规->“启用源服务器支持”和“打印源服务器诊断消息...” 在此输入图像描述

添加符号:

工具->选项->调试->符号添加 带有缓存的 https://chromium-browser-symsrv.commondatastorage.googleapis.comhttp://msdl.microsoft.com/download/symbols在此输入图像描述

重启VS2017

打开 chromium 项目(需要一段时间) c:\Files\Work\chromium\chromium\src\out\Default\all.sln 项目

开始调试:

调试 -> Attach to Process 将其设置为 Attach to Native code:

在此输入图像描述

当您需要调试 chrome 附加到主 chrome 进程时,当您需要调试渲染器附加到选项卡时,请使用 Chrome 任务管理器找出进程 ID 以打开任务管理器使用:shift+esc

设置断点:

放置断点,右键->条件并选中“允许源代码与原始代码不同”

在此输入图像描述

如果 VS 要求结帐源,请按“确定”。