摘要:
1. 为什么要打印函数调用堆栈? 打印调用堆栈可以直接把问题发生时的函数调用关系打出来,非常有利于理解函数调用关系。比如函数A可能被B/C/D调用,如果只看代码,B/C/D谁调用A都有可能,如果打印出调用堆栈,直接就把谁调的打出来了。 不仅如此,打印函数调用堆栈还有另一个好处。在Android代码里 阅读全文
摘要:
作者:零壹技术栈链接:https://zhuanlan.zhihu.com/p/83398714来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 前言 零拷贝(Zero-copy)技术指在计算机执行操作时,CPU 不需要先将数据从一个内存区域复制到另一个内存区域,从而可 阅读全文
摘要:
简言之,glxinfo是用来帮助debug gfx 3D acceleration setup的 command-line tool。 How to tell whether your setup is good 执行 Run glxinfo | grep render 将会得到两行输出,如下 di 阅读全文
摘要:
What is gdb GDB的全称是“GNU symbolic debugger”,从名称可以看出,它属于 GNU 计划(同时诞生的还有 GCC、Emacs 等),是 Linux 下常用的程序调试器。当下的 GDB 支持调试多种编程语言编写的程序,包括 C、C++、Go、Objective-C、O 阅读全文
摘要:
工作中有时需要配置Windows的开发/测试环境,那么如何用Linux制作Win10启动盘呢? 这里我们需要用到的是一个叫WoeUSB的软件,有两种方式安装: #pre-install sudo apt-get install git p7zip-full python3-pip python3-w 阅读全文
摘要:
使用如下命令打patch $ git apply --reject --whitespace=fix filename.patch 此时git会自动处理好new blank line at EOF的问题,然后重新commit,生成的新的patch就不会有这个问题了。 可以用生成的patch检验一下。 阅读全文
摘要:
Apply Patch的时候后有时候会遇到诡异的问题,明明patch是对的,却打不上,提示如下错误: Fix patch error "Hunk #* FAILED at * (different line endings)" 有一种可能是Windows和Uinix的文件line ending不同导 阅读全文
摘要:
首先明确一点:hook是一个编程机制,与语言无关。个人的简单理解hook就是钩子,之所以说是钩子,是因为你可以往钩子上挂任何东西,程序执行到hook的时候,你预先挂上/勾上(hook)的是什么,就执行什么。 比如 Mesa defines hooks for the parts where driv 阅读全文
摘要:
最近遇到了git format-patch和git am不能正常工作的情况 用git format-patch打的patch无法用git am直接打,每次都有conflict,原因一直没有找到,只好找其他方法,在这个过程中,发现可以用diff命令生成patch,用patch命令打patch. 1.为 阅读全文
摘要:
前言 学习git的时候,我们首先学习的是最常用的,自己独立开发Software时用的命令: git init //初始化git仓库 git add <file_name> //将文件添加到暂存区 git rm <file_name> //将暂存区的该文件删除 git commit -m "<comm 阅读全文