分类 linux 下的文章

vscode 通过数据断点分析segmentation fault


vscode 通过数据断点分析segmentation fault通常地,程序异常,我们借助vscode在ubuntu主动调试,程序会自动在异常代码位置停下来,但是异常分析通常不会这么简单,而是一连串连锁反应。这里尝试分析,因为程序异常,非法写入了一段正常内存,从而导致多个链路之后异常发生。而对于此问题,最常使用的调试手段就是添加数据断点。通常直接在某段代码位置添加的代码为函数断点,程序会自动在该位置停下来。同样地,我们可以添加条件断点:当某个判断条件(例如,变量值为真)满足的时候;当某段代码连续执行N次的时候;当某个变量(内存)被读写的时候;如上前两个条件断点,vsocde 里面的c/...

socat


目录 [隐藏]I. 地址规范地址关键字地址选项II. 样例远程访问目标机器的unix-domain socket监听unix socket重定向串口 socathttp://www.dest-unreach.org/socat/。提示:如下翻译来自 man 1 socat,未完待续……概述socat 是一个命令行工具,用以建立一个双向字节流交换数据。该字节流又可以被构造成不同地址类型,大量的地址选项也同样可以被作用于该流,因此socat非常强大。filan 是一个打印文件描述符的工具,已经被重构用以调试socat,当然,也可以另做它用。procan 是一个打印进程信息的工具...

学习uboot中 U_BOOT_CMD命令参数编程


get uboot U_BOOT_CMD usage学习到一个奇淫技能,这里总结如下。方便以后工程实现。在uboot中大量的命令交互,这些命令都对应其参数、help、和命令处理函数。通常做法去解析参数名称后遍历每一个命令名称,选择执行。也就是通常的switch、case做法。uboot给出了不一样的操作。先看uboot怎么做。定义命令处理函数;cmd/version.c#L17static int do_version(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]) { ch...

在linux 下通过vscode调试elf可执行文件


how to use vscode debug elf ?elf 是linux 下可执行可链接文件(executable and linkable format)。通过gcc/make 我们很容易编译出我们需要的elf文件,借助vscode可以在ubuntu图形化调试该程序,再也不用在gdb命令操作了。如下是elf文件结构,包含文件头(elf header)和代码、数据区索引表(program header table、section header table)和对应代码区、数据区。明白了如上文件结构,还需要具体解答如下疑惑。什么文件可以被调试?通过file命令对比可以知道用以调试的文件...

docker devicemapper 存储异常


docker devicemapper exceptionexception这里记录早期版本docker (1.11.2)在centos 7(linux3.10)devicemapper存储异常,导致docker容器的空间内文件删除后存储空间不能正常释放。磁盘40G,早期因为日志异常docker使用了30G,后面删除日志后容器容量一致在30G往上涨,慢慢地主机的磁盘完全被消耗掉,但是实际容器使用7G。# uname -a Linux iZu1d6y4hk5Z 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 UTC 2015 x86_6...

Ubuntu wireless-ac 9560 驱动异常


Ubuntu 19.10 Intel wireless-ac 9560 driver exception重启电脑后发现wifi不能使用了,网络设置里面提示未发现网络适配器。电脑比较新,之前安装ubuntu18.10 低版本kernel 版本就发现不识别wifi设备,更新到ubuntu19.10 后正常,不过正常安装后也反复重启过使用了一段时间。Detected Intel(R) Wireless-AC 9560, REV=0x354;Ubuntu 19.10 5.3.0-40-generic;小米笔记本pro 15;排查第一时间排查dmesg 发现有iwlwifi 内核模块报错。主动搜...

开源homekit adk 测试


目录 [隐藏]I. contextII. dependencyIII. compileIV. testV. troubleshootingsclang: Command not foundfatal error: 'dns_sd.h' file not foundldd errorNo setup code found in key-value store.开源homekit adk 测试摘要 :本文尝试体验苹果新鲜开源的homekit adk,实现在ubuntu成功编译运行后在iPhone 家 实现设备的添加、控制,以及siri的语音控制。由amazon、apple、goo...

在ubuntu上使用onedrive


目录 [隐藏]I. dependencesII. installIII. configIV. troubleshootingsError reading ngrok APIonedrivesdk install failedImportError: cannot import name 'loosebidict' from 'bidict' 在ubuntu上使用onedrive自从使用了onedrive过后就像发现宝贝似得,跨机器自动同步文件很是方便,特别是一些正在进行调试笔记、开发文档。所以在ubuntu也马上考虑使用onedrive。https://github.c...

在局域网建立.local域名


目录 [隐藏]I. hostnameII. hostsIII. mdnsIV. avahi ubuntu setup .local domain in lan需要理解linux下面的几个概念。I. hostname主机名,默认保存在/etc/hosname,可以通过命令hostname查看和更改。$hostname #查看 hachi-jay $sudo hostname -F /etc/hostname #编辑`/etc/hostname`后应用该命令更改。II. hosts本地域名文件,配置后再本机...