自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(494)
  • 资源 (44)
  • 收藏
  • 关注

原创 【C++】0xc0000005写入位置时发生访问冲突解决方法

很多的程序员在编写代码的时候都在处理的过程中遇到了错误代码0xc0000005导致后续的操作发生了冲突,下面就带来了0xc0000005写入位置时发生访问冲突解决方法,快来一起学习一下吧。要是这样还是没能够成功,那么很可能是你的系统有问题不兼容导致的,因此大家可以通过浆果一键装机工具来进行系统重装解决问题。1、一般用户都是在点击调试按钮进行调试时遇到了错误代码,这是内存的写入错误。2、此时需要更改系统的栈保留空间,点击“项目”选项卡,再点击“项目属性”。4、然后再次进行代码运行,就可以解决之前的问题了。

2025-01-27 13:01:46 262

原创 【C++】如何从源代码编译红色警戒2地图编辑器

这个直接通过微软安装,其实这里先只需要安装很少部分,当通过VS2022打开下载的源代码时,VS会提醒安装所缺的编译器及相关的东西,好像有1、2个多G要安装。这步很重要,这里好像是要更新三方库的下载索引还是啥的,我在这里吃过亏,如果这里不操作,三方库不下载,编译时会报很多源代码依赖不到。vs2022编译前需要下载源代码依赖的三方库,可能会报下载载被x-block-origin。源代码大概1.6M的样子,这里要小心,编译源代码需要的其他三方库比较多。1.​红警2的地图编辑器居然更新2.0了,还开源了。

2025-01-18 12:10:14 1455

原创 [JAVA]MyLogger

【代码】[JAVA]MyLogger。

2024-12-31 20:45:40 440

原创 【随笔】高德网络定位算法的演进

定位在实际产品中场景还是非常复杂的。

2024-12-17 10:47:35 88

原创 【Linux】Systemtap在CentsOS9上测试成功了

结果未找到这三个软件实际对应版本的rpm包,最终只能选择安装跟内核版本比较相近的rpm包。安装命令就是rpm -ivh xxx.rpm包。看到运行的效果,可以安心些,哈哈。

2024-12-13 15:14:05 518

原创 【Java】类似王者荣耀游戏

r77683962/WangZheYouDianRongYao

2024-12-08 11:18:45 296

原创 【Java】A *算法的应用

源代码PathFind.java(代码其实来源于网上,出处找不到了。

2024-12-06 09:33:27 220

原创 【Linux】SystemTap(类似Runtime Hook)在裁剪的系统运行不成功

make[1]: *** [scripts/Makefile.build:244:/tmp/stapksp0yb/stap_304a8a6d54945a958b0401857f38910b_1136_src.o] 错误 1。make: *** [Makefile:1919:/tmp/stapksp0yb] 错误 2。make[1]: *** 正在等待未完成的任务....

2024-11-29 10:35:38 653

原创 [chrome]黑色界面插件,PDF合并插件

下载的zip包解压成crx,然后把后缀名改为rar,然后解压,再导入解压的目录。

2024-11-26 21:20:28 466

原创 【java】StringBuffer 插入字符串源码

【代码】【java】StringBuffer 插入字符串源码。

2024-11-24 12:32:54 127

原创 [javascript]js的五子棋让红蓝双方自己跟自己下棋

【代码】[javascript]js的五子棋让红蓝双方自己跟自己下棋。

2024-11-19 21:21:24 274

原创 【Linux】内核调用栈打印函数dump_stack使用效果

【代码】【Linux】内核调用栈打印函数dump_stack使用效果。

2024-11-15 22:40:53 358

原创 【Linux】linux c语言调用send()接口内核调用流程

基于完整日志过滤" a.out "后的日志,因为第1步c代码编译出来的可执行文件叫a.out,执行时内核中的进程名是a.out。到这步其实已经到驱动层了。

2024-11-06 00:32:51 1039

原创 【Java】飞机大战游戏运行原理代码

【代码】【Java】飞机大战游戏运行原理代码。

2024-10-28 10:21:41 127

原创 【Java】一个博客系统简单运行原理

【代码】【Java】一个博客系统简单运行原理。

2024-10-27 22:22:59 269

原创 【Linux】进程ID和线程ID在日志中的体现

这里可以看出,在创建进程的时候(实际有可能是线程) ,这个pid是不断变化的,但是如果是创建线程,tgid的值实际上是父进程的值,从上图中可以看出,父进程的tgid值是等于pid的值的(2507行和2516行)。有点类似开始分析打印日志的时候,有多进程时,如果未把多进程的ID打印出来,是不太容易分析出来函数调用流程的,如下图所示红色方框这个字段,(注意,这图未针对函数调用关系混乱)这个pr_info_self打印宏其实还挺厉害,尤其是结合内核裁剪后,说不定更厉害。然后查找进程名为:firefox的进程。

2024-10-18 09:24:00 579

原创 【Java】画心形图形

本来想着自己看下这个源代码能不能实现,看了下源代码其实非常复杂。其中不同的爱心坐标点x,y变化的函数不太一样(

2024-10-15 12:31:26 644

原创 【Java】外部类和内部类,普通方法和静态方法

【代码】【Java】外部类和内部类,普通方法和静态方法。

2024-10-12 10:46:10 99

原创 【Linux】C文件头文件数裁剪前58644个,裁剪后9373个

在裁剪目录的时候,发现net的目录里边对drivers/net有一些是基于C源文件调用的依赖,比如我们硬件只有intel,没有思科或者其他厂商的,但是代码里有调用关系,开始我碰到这样的问题就直接修改C代码其实里边就是一些if分支什么的,直接干掉,DOGE。一般是删除自己觉得不太重要的代码或者目录,然后编译,重启验证功能是否正常,在开始裁剪驱动的网络目录时,有几次裁剪后无法上网,还有几次是裁剪后无法使用从Windows到Ubuntu的文件共享功能。这样操作的好处:裁剪后不会有多余的文件,都是通过编译找到的;

2024-10-11 17:48:30 855

原创 ​【Linux】精简Linux内核编译的简单方法​

一般说法:在运行这条命令前,将系统需要在后续内核编译的各种硬件都用一遍,以便你的系统中的模块均被调用了一次,使用“make localmodconfig”命令时,才能将你的系统将调用的模块包含进来。在编辑“~/build/kernel/.config”文件时,将相应项改为“=y”而不是“=m”。一般说法:在运行第二条命令前,将系统的各种硬件都用一遍,以便你的系统中的模块均被调用了一次,使用“make localmodconfig”命令时,才能将你的系统将调用的模块包含进来。

2024-10-06 19:12:01 927

原创 【Java】飞机大战游戏运行原理代码

【代码】【Java】飞机大战游戏运行原理代码。

2024-09-25 10:35:36 265

原创 【Linux】驱动层源代码如何查看进程ID和进程名称?

从第1张图由于字符串过滤的原因看不出来系统的多进程,如果不过滤,看到的是如下图这样子,可以比较好的说明多进程,操作系统不断的多进程切换,就这一张图有不少进程。源代码所在文件、函数、行号、进程ID、进程名以及当前打印的日志类型,中括号外边就是自己想要打印代码的字符串,参数列表什么的。在第1张图里也看到以太接口对收发包和字节的计数,其实数据就是ifconfig命令的,当前数量对不上,前面有博客是可以对得上的。在第1张图里好像还有第0号进程,稀客。登录 - Gitee.com。

2024-09-24 11:04:36 337

原创 【Linux】通过内核以太层可查看应用程序运行时访问外网情况

下边是运行firefox时内核打印的日志,可以看到浏览品运行时调用了很多的操作系统内核系统调用,比如:文件读写、网络数据包的收发等等,其实这些日志还并不全,因为内核源代码有很多调用频率太高的地方不能添加打印日志,容易造成操作系统死机,这即是前一阵子博客讲的为什么需要把函数调用的频率整理出来的原因。在操作系统运行的时候,好像也看到过Windows也会偷偷收发网络数据包,其中有一个当时是Windows操作系统测试网络连通性会去下载一个外网的文件。

2024-09-23 00:40:43 361

原创 【Linux】当前进展

行 2105: [ 2.011995] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver cht_dollar_cove_ti_pmic。行 2089: [ 2.011850] kernel: [drivers/base/bus.c bus_add_driver 648] bus: 'platform': add driver cht_crystal_cove_pmic。

2024-09-21 13:49:22 1612 2

原创 【Linux】查看操作系统开机时初始化的驱动模块列表的一个方法

1、驱动层module_init(module_init_function)作为模块初始化,并且提供模块内部初始化的函数名;内核最上层看到的是系统调用入口,最底层是驱动。3、从找到的模块函数中添加打印信息;方法也是摸索出来的,不一定对。

2024-09-13 08:37:39 918

原创 【LINUX】shell中模拟爬虫

读取文件1和文件2的内容。

2024-09-11 07:04:50 563

原创 【LINUX】在ubuntu中安装tomcat

#instal jdkapt install openjdk-8-jdk -y#enter install pathcd /home/a/#copy tomcat packagecp /mnt/hgfs/Share/apache-tomcat-9.0.93.tar.gz .#unpress tomcat packagetar -xf apache-tomcat-9.0.93.tar.gz #enter bin pathcd apache-tomcat-9.0.93/bin#start the se

2024-09-11 07:03:52 292

原创 【LINUX】SHELL贪吃蛇

Show()#Mapdo;;;esacdone#Snakefor ((i=0;i++))doecho "*"done#Foodecho "0"dodoneMove();;;;esacArrayMovethenthenthenthenfithen。

2024-09-11 07:02:41 606

原创 【LINUX】ubuntu的docker容器中运行tomcat

Docker在Ubuntu上依赖一些软件包。#复制宿主机tomcat压缩包到容器,以后可能会修改。#查看docker 运行的tomcat id。#复制页面到tomcat服务器目录。#进入docker容器。

2024-09-11 07:01:45 350

原创 【LINUX】某操作后内核函数调用次数,第一列为调用次数

9 net/vmw_vsock/af_vsock.c#vsock_data_ready#91610 fs/ext4/balloc.c#ext4_get_group_no_and_offset#5910 fs/ext4/balloc.c#ext4_read_block_bitmap_nowait#47510 fs/ext4/extents.c#ext4_convert_unwritten_extents#485610 fs/ext4/file.c#ext4_file_open#88010 fs/ex

2024-09-08 21:42:27 2077

原创 【LINUX】ifconfig -a查看到的发送、接收包数和字数字节数在驱动层代码大概位置

从上图可以看出来网卡驱动代码的目录是在drivers/net/ethernet/intel/e1000/e1000_main.c。不过这些数据是在虚拟机看到的,如果有条件可以在实际的物理网卡测试看看效果。这基本上是从驱动层面看到操作系统应用层操作对应的变化。

2024-08-29 21:55:50 396

原创 【Linux】内核全量函数添加日志打印摸索

1、操作系统在空载时要把函数调用次数非常多的注释掉,这里打印时不能带进程名称,高执行概率函数不同进程执行到的概率也很高,不然操作业务会增加卡死的概率;4、验证时先空载,然后添加业务验证,增加业务的验证要慢慢增量,不然不好多文件二分查找定位,这其实很难,得看运气;3、验证时少看代码基于多个文件一起验证,内核文件太多,看代码来不及,偶尔看下代码是可以的;8、drivers目录25255个文件,验证还没找到一个比较快的方法。5、验证时先验证框架,把框架中日志打印太多的注释掉,不然影响内核验证性能;

2024-08-19 22:10:01 298

原创 【LINUX】小工具降耦合,全内核函数插入宏摸索测试中。。

4、最后插入头文件包含,开始本来是在原来C文件里边#include最后一个后边插入,实际上不行,因为有的C文件最后百分之15左右也会有#include包含,到后边直接简单粗暴直接在第2行后插入,这能解决98%左右的问题,还有些使用的/**/多行注释的,插入了因为被注释掉了没有用,也不行;3、用的这个手段,好像大概意思是找到函数所在的行,向后10行中找第一个{,函数实现的时候会有实参列表啥的,实际上是把所有写入到 leftCurlyBracket.txt,所以这里用到>>

2024-08-12 22:18:27 616

原创 [git]error: invalid path ‘drivers/gpu/drm/nouveau/nvkm/subdev/i2c/aux.c‘

yes。

2024-07-30 17:25:43 612

原创 【linux】在多核CPU下,好像看到不同进程在不同CPU调度

开始想像的是操作系统上层的应用层创建文件,写入文件,创建目录,写入目录,在内核层肯定会调用到ext4文件系统类型对应的文件创建,写入文件,创建目录,写入目录。但是现在的问题是我们要去找对应的这四个函数(其实最好是先只找一个,找到一个后,其他三个就比较容易了),当时根据函数名字猜测会不是是这个数据结构。其实摸索syscall文件系统操作,本意是想找到内核文件系统中文件的创建,写入,目录创建,目录写入这样的流程。测试文件写,首先建立一个长时间下载的进程,时间太短容易退出,并且这个操作会写入文件。

2024-07-25 11:08:33 634

原创 【Linux】syscall sys_write流程摸索

到这张图的时候,599行已经执行了,在603行函数里的打印日志未打印出来,应该是走601行代码了。不是的,在实际里边是N多进程在不断切换,如果在打印日志里呈现的话,看过日志打印信息后,一般会生活不能自理。而在日志里看直接跳到call_write_iter这个函数了,中间有点奇怪。,开始我想,都打印这样详细的日志了,看内核源代码流程还不是轻松加愉快?日期,时间,当前文件所在代码目录,当前执行函数名,当前文件执行行号。基于这个缘故,我们在打印日志里添加了进程号信息。有了pid的这个参数后,看日志又方便了些。

2024-07-22 22:06:24 722

原创 【Linux】文件创建与写入系统调用流程摸索

第五行是搜索我们操作的文件名,看看在操作系统层面对文件的操作,内核里边源代码对应函数的打印的流程是否正确,因为有些函数同名函数很多,不一定是我们找到的,而且代码中函数里还有各种分支,判断等等,所以也有点点难度。第一行是打开日志输出(其实操作系统运行时日志是输出到/var/log/kern.log和/var/log/syslog里了,这也即是为什么我们老是去syslog文件搜索我们在内核源代码的打印信息);第二行是把字符串写入到一个文件,这个文件原来是没有的,其实就是创建文件,写入文件;

2024-07-19 11:06:41 439

原创 【Linux】SYSCALL_DEFINE4 openat执行流程摸索

在上一篇博客,我们基于pr_info这个内核类似c语言printf打印宏完成了打印,基本实现了自由开关打印,可以设定打印日志次数(代码写了,大概10行代码),在测试的时候发现居然还有意外收获,doge....从这个日志来看一共调用了1283次__do_sys_openat这个系统调用,注意1532这个行,也是跟日志能对上的。要注意,上边这日志量其实挺大,有兴趣的可以基于这个日志打印信息对照代码流程。但打印日志也有些不是文件操作的日志,需要注意下,对于学习是比较有用的。登录 - Gitee.com。

2024-07-18 13:34:49 998

原创 【LINUX】pr_info函数开发摸索

pr_info_self这里也可以扩展,不过这里的语法比较复杂,什么斜杠,fmt,双引号什么的,修改代码的时候要注意。2、打印次数,当前代码里边写的是1000次,其实可以根据传参动态修改打印日志次数,不过没有开发,只是大概展示了下;

2024-07-16 13:08:24 1072

原创 【Linux】内核文件系统系统调用流程摸索

1、代码内存越界,就是前一阵子碰到的打印filename这个变量,一般会出调用栈,不过不太容易看得到,因为开机日志显示翻页太快,页面显示到后边就卡死,黑白屏;其实这种过程是挺有意思,有些书讲内核运行原理,如果再配套查看内核运行实时日志,这样会更有意思,因为书上的知识是死的,而操作系统是活的,是动态的。我们打印的pid,tgid就是从这里来的,然后只需要找到pid_t的数据类型就好了。2、第二种:好像进入到 busybox,可以手动打印些dmesg的日志,黑白屏;登录 - Gitee.com。

2024-07-10 10:06:10 361

15_day_mini2

15_day_mini2

2018-10-25

15_day_mini

15_day_mini

2018-10-24

Dark-Reader.crx

chrome 黑色主题,比较适合夜间浏览,有利于保护眼睛,chrome 黑色主题,比较适合夜间浏览,有利于保护眼睛

2018-08-09

chatserverclientepoll

c epoll server clientc epoll server clientc epoll server clientc epoll server client

2018-08-04

类everything java源码

java实现的类everything源码,当前未支持文件添加,删除操作的更新,有一些日志方便开发使用,当然代码有一些冗余,当前支持,多字符串搜索,支持正则表达式搜索,用于学习,来自于: https://download.csdn.net/download/chousheng/4782687#comment

2018-06-13

Orange's chapter8a修改后可以查看消息流程的版本

Orange's chapter8a修改后的版本方便消息流程分析 https://blog.csdn.net/r77683962/article/details/79826404

2018-04-05

chapter5_i

os orange chapter5_i os orange chapter5_i os orange chapter5_i os orange chapter5_i

2018-03-13

汇编语言王爽

汇编语言王爽汇编语言王爽汇编语言王爽汇编语言王爽汇编语言王爽

2018-02-15

SourceInsight4

SourceInsight4SourceInsight4SourceInsight4SourceInsight4

2018-02-15

javac_可以编译目录.rar

jdk9 javac编译器 源码 当前可以根据用目录作为参数进行编译 谢谢

2018-01-20

jdk9_javac.rar

jdk9 javac编译器,从编译器解压出来的大包不能直接用于编译,会报package冲突,做了一些处理后可以用于本地编译和调试

2018-01-07

Linux内核阅读心得体会

Linux内核阅读心得体会

2016-10-30

xdotool源代码

xdotool_3.20150503.1.orig.tar 

2016-03-16

clicks模拟鼠标键盘

clicks use for simulate mouse and keyboard actions. Manul: clicks display help information clicks s x sleep x ms clicks m x y mouse cursor move from current position to current.x+x current.y+y position clicks mt x y mouse cursor move to x, y clicks l click left button clicks dl double click leftbutton clicks r click right button clicks dr double click rightbutton clicks e x lines of operation in file clicks sr/er start/end record your operations clicks i string input string at mouse cursor Examples: clicks s 2000 clicks m 100 100 clicks mt 100 100 clicks l clicks r clicks dr clicks dl clicks i "hello clicks!" clicks sr clicks er clicks e a.txt a.txt: mt 100 100 s 1 m 300 300 s 1 l ...

2016-03-13

函数指针详解.doc

函数指针详解.doc

2012-10-28

unix网络编程

unix网络编程

2012-05-13

NS2新的RTP协议

NS2新的RTP协议

2012-04-10

计算机编程的艺术

计算机编程的艺术

2012-02-29

UML基础教程

UML基础教程

2012-02-29

计算机网络

计算机网络计算机网络计算机网络计算机网络计算机网络

2011-10-21

A *算法的应用XXXX

A *算法的应用XXXX

2024-12-06

linux给net/socket.c部分接口添加pr-info后运行情况

111

2024-06-13

linux给net/socket.c部分接口添加pr-info后运行情况

111

2024-06-13

[97世界编程大赛4K组]ts代码运行展示.mp4

1、代码源头及演示:https://supersodasea.github.io/Omniscent/ 2、修改了些代码,减少和修改了些代码行方便阅读和调试,但是原代码有魔鬼数字,实在看不懂 3、源代码用到了些图形学相关知识; 4、当前运行代码地址及分支:https://gitee.com/r77683962/Omniscent,分支:Only2Files 5、该视频未配声音。

2024-05-05

SI4安装文件及操作流程

SI4安装文件及操作流程

2022-08-01

EDK II Documentation

EDK II Documentation EDK2代码中工程文件

2022-07-10

小米商城网站示例模仿商城

小米商城网站示例模仿商城

2022-01-21

前端项目带有可定制菜单示例

前端

2022-01-21

YunGameDownload.zip

操作系统显示中文字符

2020-06-21

kern.log linux start

LINUX 启动日志记录(包含文件,函数,没有行数),内核版本5.3.1 添加打印日志添加打印日志添加打印日志

2019-11-10

dmesg_with_pr_info_add_file_function.log

dmesg_with_pr_info_add_file_function.log dmesg_with_pr_info_add_file_function.log

2019-11-03

kernel start log.txt with log

kernel start log with init/main.c and kernel/idle.c modified

2019-10-29

boot.zip Linux kerner grub 5.0.1压缩包

linux kernel grub 5.0.1起动文件汇总,如果是自己新编译的内核,需要把vmlinuz-5.0.0-13-generic和initrd.img-5.0.0-13-generic拷贝到boot目录。

2019-09-14

records.txt

Ubuntu 19.04 Upgrade kernel from 5.0.0 to 5.0.1 generated files

2019-08-24

scrapy1.5-chinese-document-master.zip

scrapy1.5-chinese-document-master.zip

2019-07-07

hibernate-release-5.0.12.Final.rar

hibernate-release-5.0.12.Final.rar

2019-06-17

30day 的07_day 添加了大屏显示1024*768,适配了中文显示

30day 的07_day 添加了大屏显示1024*768,适配了中文显示30day 的07_day 添加了大屏显示1024*768,适配了中文显示30day 的07_day 添加了大屏显示1024*768,适配了中文显示

2019-04-14

30day pdf+codes

30day pdf+codes

2019-04-11

15_day_mini2.rar

30dayos, mini code

2019-04-08

引导扇区设置显示1024*768分辨率

引导扇区设置显示1024*768分辨率

2018-10-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除