chromium的gdb

Chromium媒体栈调试秘籍:用gdb断点追踪硬解失败原因 本文提供了一套使用gdb调试Chromium媒体栈以定位硬件解码失败问题的专业方法。从构建可调试环境、利用chrome://media-internals进行宏观诊断,到使用gdb在解码器选择、VAAPI初始化等关键路径设置断点进行微观追踪,系统性地讲解了如何从现象深入代码根源,解决视频播放中的硬解疑难杂症。 阅读详情

以前弄过chromium的gdb,没有看到gdb信息

今天,重新弄了一下。

主要参考 http://code.google.com/p/chromium/wiki/LinuxDebugging#Getting_renderer_subprocesses_into_gdb

其实,挺简单的,但是一旦出错,你会怀疑很多东西,比如gdb的版本里面是不是没有包含调试符号,gdb用法对不对等。

首先,去掉第一个怀疑,只要是debug版本,默认是有调试信息的

其次,如果你没有看到调试信息,很可能是gdb的用法有问题了。

我们知道,chromium是多进程的,所以造成调试的时候会和普通的程序不一样。如果你比较清楚gdb的attach,并且知道要调试哪个进程(pstree -p | grep chrome),就不必往下看了。你是高手!

大部分情况下,我们可以使用下面的简单的办法

gdb --args ./chrome --single-process

这样,程序就在一个进程内了。

在gdb里面记得查看chrome是否有带参数--single-process。

一般我都是r,然后在地址栏里面输入真正要调试的网址。


好了,比较简单吧

Chromium视频硬解调试全攻略:从VAAPI配置到GPU状态监控 本文详细介绍了Chromium视频硬解调试的全过程,从VAAPI配置到GPU状态监控。通过硬件驱动检查、Chromium定制编译、运行时参数优化及高级调试技巧,帮助开发者解决视频硬解中的常见问题,提升4K视频播放性能与能效。 阅读详情

相关推荐

ISO7816协议深度解析-简单易懂协议详解(一)-- 复位,字符帧,及ATR

1. 摘要 IC卡必须支持T=0或T=1的协议,但不是同时支持这两种协议,而终端则必须同时支持T=0和T=1的协议。 • T=0通讯协议是异步半双工字符传输协议; • T=1通讯协议是异步半双工块传输协议; 在ISO7816-3标准中,具体规定了这两种协议:T0和T1。 IC卡所用的协议在TD1中指定,如果在复位应答信息中没有TD1,则表示用T=0的协议进行通讯。在复位应答后,IC卡和终端之间即用IC卡指定的协议进行通讯。 2. 硬件接口 1)VCC:电源输入(A类:5V, B类:3V) 2)GND:地 3

代码打工人的博客 4万+

linux追踪进程,Linux上进程追踪与调试(strace和gdb)

引言:我们某些服务出现故障的时候,我们都是根据屏幕的输出以及打印的日志来查找出出现了什么样的错误,但是有时候我们的很多守护进程启动正常却访问不到,比如我们使用Nginx服务,登陆web的时候,却迟迟不发生页面跳转或者访问页面迟迟没反应,这个时候我们就需要对nginx这个服务做一次进程追踪,我们使用strace/gdb这样的命令对进程做一次追踪,strace:1,strace命令说明strace是能...

weixin_42528902的博客 961

WIFI基础入门--802.11g--增强速率物理层ERP--15

WIFI基础入门--802.11--增强速率物理层--191.802.11g的组件保护机制 1.802.11g的组件 802.11g其实是将好几种物理层规范合而为一。虽然统称为增强速率物理层(Extended Rate PHY简称ERP),但是实际上ERP有好几种不同的方式: ERP-DSSS与ERP-CCK 这两种模式向下兼容于原始直接序列规范(1Mbps与2Mbps),以及所提到的802.11...

香蕉一号 4617

GDB 的常用命令 -- 用gdb 跟踪、调试 chromium webkit_unit_tests

用 gdb 调试chromium 在编译 chromium 的时候使用命令 make chrome webkit_unit_tests BUILDTYPE=Debug 或者在 src/Makefile 里面直接改。编译完成之后,就可以用gdb trace or debug 应用程序了。 cd out/Debug gdb webkit_unit_tests yajun@ubuntu:/...

移动开发记录 438

Docker一键部署NextCloud+OnlyOffice:打造企业级私有云办公环境(含HTTPS配置)

本文详细介绍了如何使用Docker Compose一键部署NextCloud与OnlyOffice,构建安全、高效的企业级私有云办公平台。内容涵盖从架构设计、Docker编排配置、HTTPS证书自动化管理,到系统初始化、性能优化及高级功能扩展的全栈实战指南,帮助企业实现数据自主可控与高效的在线文档编辑协作。

Apple的专栏 1239

告别虚拟机!在WSL2的Ubuntu里5分钟跑通LVGL v9.2图形界面(附SDL2配置避坑)

本文详细介绍了如何在WSL2的Ubuntu子系统中快速配置LVGL v9.2图形库的SDL2模拟环境,帮助嵌入式开发者在5分钟内跑通第一个图形界面示例。通过WSL2和VSCode的远程开发插件,实现Windows系统下无缝使用Linux工具链,大幅提升开发效率。

weixin_28736335的博客 425

LINUX上使用GDB单步调试Chromium Android C++代码。

###动机###在LINUX使用GDB单步调试Chromium Android C++代码。 [1]编译android平台Chromium, 修改GN文件中编译选项:-g -O0 使得编译优化更少,便于单步调试。gn gen --args='target_os="android" target_cpu="arm64" is_component_build=true symbol_level=2 ...

weixin_33971130的博客 481

K-Core, K-Shell & K-Crust傻傻分不清楚

K-Core(K-核)就是所有大于等于K的K-Shell的并集;K-Crust(K-皮)就是所有小于等于K的K-shell的并集。

欢迎订阅 -- 小源笔迹 2255

chromium 项目单测调试经验

1、单测 chromium 原生的单测程序能尽早地暴露我们在对网络库进行定制化开发过程中会引发的 Bug,因此认真对待单测可为网络库定制化开发保驾护航。 1.1 确认代码迁移引起的 case 跑 NQE、QUIC 迁移后的统一网络库的单测程序 net_unittests,出现较多 fail 和 少数 crash 的 case; 从 fail case 看,与迁移的代码看起来无直接关联,因此直接阅读源码来定位原因显得较为困难且耗时可能比较长; 那么首先要做的是,确认这些 case 是因为代码迁移引起的,所以需

chuanglan的专栏 1469

从 SAP ABAP 到 S/4HANA,SAML 2.0 单点登录到底是怎么跑起来的

在很多 SAP 项目里,SSO 不是一个锦上添花的功能,而是系统能不能顺利上线的基本门槛。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1049

2021.02.23丨Virsorter2安装使用及答疑

最近项目比较多,又在学英语,写文章的时间少了很多。最近接到一个病毒组装的项目。用之前组装工具(ABYSS、SPAdes)都没有能够组装较为完整的scafford,今天介绍一款专门用于组装病毒的工具——Virsorter。 Virsorter最早版本发布于2015年,目前已经有了第二个版本。主要用于病毒的组装的注释。详细情况可以查看文章:https://peerj.com/articles/985/ 安装流程 安装文档: https://github.com/jiarong/VirSorter2/b

4835

GDB调试

最近要用gdb调试跟踪chromium源码,记录下gdb的一些使用,shell,gdb,makefile好像是linux开发必备啊,看了一些面试记录,貌似这些常见的常用的一定要非常熟练的掌握了,不然到时候就不好了。 1.进入调试状态 在终端下输入gdb,然后进入gdb控制台,然后输入 file chrome  ,. 或者直接输入 gdb chrome  ,进入gdb调试 2.调试带参数程序

Gezhengzhong的专栏 961

[SoC]SoC验证中bootcode与firmware相关验证经验总结

本文总结了SoC验证中bootcode和firmware的验证经验。重点介绍了两种数据加载方法:1)使用Verilog系统函数$readmemh/$readmemb直接写入ROM/ARAM,需注意文件路径、格式和斜杠方向;2)通过Memory Hierarchy在initial块中操作,需要添加适当延时并注意路径拼接。文章还提供了在testcase phase中先读取数据到HASH再写入SRAM的示例,并强调加载后需使能edc_bypass以避免ECC错误。验证过程中需特别注意文件位置、格式要求及路径处理等

元直的博客 2497

linux下使用corefile调试手机侧webview/chromium的crash

android手机在chromium/webview/browser进程出现crash的时候会在系统目录下生成corefiel文件夹,包含了maps和core文件;corefile文件保存了发生crash时刻系统内存状态,可以通过恢复corefile的内存信息来定位发生crash的原因:步骤如下:1.启动gdb工具:  android文件夹下的prebuilts/gcc/linux-x86/arm...

鸿儒客栈 2254

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

chromium 的debug手段

chromium代码量很大,要梳理流程如果直接扎进去看代码,估计会看的泪崩,当然大神级别的另当别论哈。我去看罗升阳罗老师的博客很详细也不算很深,但是是边看边忘,还是自己老老实实的跟代码,再做些笔记,毕竟好记性不如烂笔头。 如下是 我在跟chromium过程中的一些手段: 1 Java代码 1.1 log打印: 使用org.chromium.base.log,用法和 android.util.Log一样 ; 1.2打印堆栈,打印出调用关系: ...

木希博客 1677

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Chromium WebView C++代码的调试

从Android 4.4开始,系统的WebView组件就采用了Chromium/Blink引擎。Chromium的代码及其庞大,理解起来也有些难度。借助于gdb调试,通过跟踪代码的运行,打印调用堆栈,有助于理解代码的执行流程。另外libchromiumwebview.so的编译链接及其耗时间,所以那种打log的方式除非不得已,还是要尽量少用。

云水木石 2334

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

调试chromium的快捷方式

上一篇我们简单的将了在Ubuntu上编译chromium,androidcontent_shell_apk的编译,一切顺利的就能生成apk。但是我们仅仅只是照搬了人家google开源的东西,作为一个开发者我们应带着探索的...

ckpkca4284的博客 138

chromium java_调试Android系统上的Chromium

1. Android上的调试技术在Android系统上,开发者可以使用两种不同的语言来开发应用程序,一种是Java语言,开发者使用的是Android SDK来配置和编译这些代码,生成Java语言的class文件,也就是Java虚拟机运行的二进制代码。Android系统使用.dex文件将一系列的class文件压缩在一起。另外一种是C/C++语言,使用Android NDK来配置和编译这些代码。这些代...

weixin_39919948的博客 585

chromium引发的crash

chromium作为浏览器架构,除提供给浏览器做渲染引擎之外,还作为android平台上webview的主要构成部分,提供给包括浏览器等诸多web app作为数据加载及渲染只用;经常遇到某第三方软件调用webview过程中出现crash,如下一例做参考,调试定位native webview 的crash。遇到一个crash问题,第三方应用com.whty.wicity.china, monkey过...

鸿儒客栈 4022

谷歌浏览器怎么调试php,如何简单快速调试高大上的谷歌浏览器

上一篇我们简单的将了在Ubuntu上编译chromium,androidcontent_shell_apk的编译,一切顺利的就能生成apk。但是我们仅仅只是照搬了人家google开源的东西,作为一个开发者我们应带着探索的精神,都说它稳定,速度快。它为什么这么快、稳定? 带着这一系列的问题,我们去学习理解它,去搞明白它的原理、架构。所以......一切精妙的东西最终又归结到源码上,直到我们了解它熟...

weixin_32154667的博客 724

如何简单快速调试高大上的谷歌浏览器

上一篇我们简单的将了在Ubuntu上编译chromium,android content_shell_apk的编译,一切顺利的就能生成apk。但是我们仅仅只是照搬了人家google开源的东西,作为一个开发者我们应带着探索的精神,都说它稳定,速度快。它为什么这么快、稳定? 带着这一系列的问题,我们去学习理解它,去搞明白它的原理、架构。 所以......  一切精妙的东西最终又归结到源码上

yistn的专栏 764
上一篇: android html5 video的实现方方面面
下一篇: chrome extension 开发
awebkit
博客等级 码龄16年 105粉丝 56原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值