![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
工具使用、环境搭建
文章平均质量分 73
实验记录
名扬569
不求深知,但求乐在其中。
展开
-
编译,安装,运行与调试linux内核(真机环境,基于crash调试)
1)内联函数。内联函数会被直接展开,不会执行call指令,因此这类函数没有了栈帧。2)编译器优化的函数。具体优化的时机不确定,但是猜测是一些只被调用一次的子函数,直接被展开到了父函数里面,这类子函数也没有了栈帧。具体例子是内核中的函数被展开到了函数中,导致函数特别长。3)中断栈。这类我不是特别确定,但是貌似通过中断调用的函数在调用栈中的信息不太全。原创 2023-09-25 15:55:52 · 1548 阅读 · 0 评论 -
基于dynamorio自制反汇编小工具 instr_trace安装
对程序进行反汇编,然后打印出运行每个汇编时各个寄存器的值(类似于gdb单步调试,然后每一步都打印寄存器的值)原创 2023-08-02 15:27:05 · 360 阅读 · 0 评论 -
sed一些使用技巧(遇到的坑)
的时候需要字符不需要转义,这点很关键。因为-e和-E想要实现相同的功能,命令不一样,如果搞混了就很麻烦。sed的命令要用单引号,不能是双引号,不然会出现各种错误。不能用来表示数字,不然像下面,运行完没变化。注意上面是[0-9]表示数字,切记。的时候许多字符都需要转义,例如。原创 2023-07-14 16:56:35 · 313 阅读 · 0 评论 -
使用qemu创建ubuntu-base文件系统,并安装PM相关内核模块
流程简述:(镜像基本的文件系统配置)1、下载ubuntu-base的镜像2、挂载镜像,配置镜像的网络,并安装各类软件(PM模块配置)3、编译内核模块,并拷贝到镜像中4、启动qemu5、安装内核模块,并配置相关软件。原创 2023-07-14 11:27:15 · 2563 阅读 · 0 评论 -
(多种方法)VSCode调试docker容器里的程序
有时候我们需要调试docker容器里的c++程序,可以使用命令行运行gdb调试,但是不如vscode的图形界面调试着直观。本文介绍如何使用VSCode调试docker容器里的c++程序。原创 2022-12-27 15:03:33 · 16185 阅读 · 1 评论 -
gem5-gcn3-gpu模拟器的开发环境搭建(使用docker镜像+vscode调试,十分便捷)
目录一、前言二、 基于docker镜像搭建环境(成功)2.1 在docker容器内安装gem52.1.1 pull镜像直接pull离线pull2.1.2 在容器内编译gem52.1.3 在容器内运行gem52.2 在容器内编译gpu程序2.3 使用vscode的remote-container开发代码附:常规环境安装(失败)3.1 方法13.2 方法23.3 方法3我的环境:win10 我自己的电脑,用来连远程服务器vscodeubuntu16.04 远程服务器docker没有amd的显原创 2021-12-16 20:54:56 · 5296 阅读 · 6 评论 -
(不使用docker,很麻烦)gem5 gcn3 gpu的编译安装运行(nvidia gpu环境下)
依赖编译编译命令python3 $(which scons) ./build/GCN3_X86/gem5.opt -j9运行问题编译遇到的问题:drm.h:375:8: error: expected unqualified-id before ‘virtual’参考:https://stackoverflow.com/questions/19034688/extern-c-with-variable-name-virtualThe real issue here is that you原创 2021-12-16 20:53:49 · 1529 阅读 · 0 评论 -
vscode使用remote-ssh连接centos 7时遇到的问题(arm和x86)
一、错误在使用vscode的remote-ssh远程连接centos 7的服务器时,会报错,如图:could not fetch remote envionmentfailed to connect to the remote extension host server (Error: Connection error: Unauthorized client refused)二、根据日志查看原因查看服务器上的日志(路径为~/.vscode-server/.c13f1abb110fc756f9原创 2021-11-29 16:41:51 · 4875 阅读 · 0 评论 -
gcc-8.3.1安装(arm,Centos7)
环境Centos7(Red Hat 8.3.1-3)arm cpu参考官网链接一、简要步骤:1、修改yum的Base源为国内源(比如清华源)2、make yum makecache3、安装CentOS SCLo RH仓库(yum install centos-release-scl-rh)4、安装yum包yum install devtoolset-85、设置默认gcc编译器(source /opt/rh/devtoolset-8/enable)6、测试(gcc -v,g++ -v).原创 2021-10-30 20:02:22 · 2886 阅读 · 0 评论 -
qemu6.0编译,安装与运行,以及文件共享(使用vncviewer)
通过源码安装qemu-6.0.0-rc4,并使用Linux-0.2.img进行测试原创 2021-04-27 21:18:51 · 2471 阅读 · 0 评论 -
gem5 20版本 安装与使用
依赖:python 3.6以上python 3.6安装sudo apt install python3.6-dev这个划重点,很多情况下不需要装这个,但是gem5需要$ sudo add-apt-repository ppa:deadsnakes/ppa # 网上说如果提示add-apt-repository命令不存在的话,可以安装 software-properties-common 这个软件包或者在source.list里面加下面这两行(第二行可以注释)`deb http://ppa.lau原创 2021-05-03 17:05:04 · 695 阅读 · 3 评论 -
zsim与dramsim3的集成
zsim使用的不是原始zsim而是ramulator-pim里的zsim(项目地址)dramsim3我有做一些简单的结构修改,不然集成时会报错(dramsim3项目地址,代码修改可以看我的git记录)步骤1、编译zsim(先确保不集成draimsim3的时候能编译成功)2、编译dramsim3(注意使用命令cmake -DCMAKE_CXX_FLAGS='-D_GLIBCXX_USE_CXX11_ABI=0' ..而不是简单的cmake ..)3、修改zsim的SConstruct,加上Drams原创 2021-05-19 17:01:26 · 1016 阅读 · 1 评论 -
使用LxRunOffline安装WSL到任意位置
网上由详细教程,我这里只写些简单步骤安装LxRunOffline(下载、解压、配置环境变量即可)下载wsl(修改后缀为zip,然后解压)使用LxRunOffline安装# lxrunoffline i -n <WSL名称> -d <安装路径> -f <安装包路径>.tar.gzC:\Users\15758>lxrunoffline i -n ubuntu -d D:\MyApp\Ubuntu18 -f D:\MyApp\Ubuntu18\install原创 2021-06-22 22:33:52 · 1141 阅读 · 0 评论 -
gdb常用命令总结(汇编和c)
参考gdb的安装:参考简单命令gdb test 运行程序targetgdb test --args test 1 2 3运行程序test ,且参数列表(args)为[test,1,2,3]show args 显示argsset args 修改args上下键可以查看命令历史(tui中,如果选中的不是cmd窗口,快捷键功能会被替换成别的)如果忘记了用法,可以help command,可以看某个command的用法,比如help pb 断点info b 查看断点del或者clear 删除断原创 2021-08-06 01:21:41 · 530 阅读 · 0 评论 -
intel oneapi 2021 安装教程(以ipp为例,离线静默安装,逐步解析)
实验环境:win10 wslubuntu 18.04目录一、intel官方教程二、安装过程2.1 下载2.2 安装方法方法一 全家桶安装方法二 自定义组件安装(安装目录使用默认)方法三 自定义组件、自定义安装目录2.3 查询安装情况(也可以跳过)2.3.1 查看产品id和版本号2.3.2 查看组件安装情况2.4 设置环境变量2.5 验证环境一、intel官方教程下载方法选择详细安装教程我选择的安装方法为:linux离线安装,且使用非交互式命令行安装(教程)二、安装过程2.1 下载.原创 2021-08-17 14:53:46 · 17496 阅读 · 9 评论 -
gdb调试(c语言和汇编指令)
环境:ubuntu 18.04gdb背景:调试Intel ipp库目录一、gcc的安装二、icc的安装三、编译器的使用3.1 基本用法3.1.1 查看命令文档3.1.2 基本的编译命令3.1.3 运行目标文件3.2 多文件编译3.2.1 源码3.2.2 编译命令3.2.3 运行命令3.3 编译双线性变换demo3.3.1 编译命令3.3.2 运行命令3.4 编译金字塔demo3.4.1 编译命令3.4.2 运行命令三、gdb的安装方法1 (推荐)apt安装gdb方法2 源码安装测试四、gdb的使.原创 2021-08-17 14:55:46 · 5827 阅读 · 0 评论 -
dynamorio安装(二进制插桩工具)
DynamoRIO安装git clone https://github.com/DynamoRIO/dynamorio.git可用的git版本 ad03a4ac7517b8cc3f21a2aa6e68b1a52cae74e4,新版本的接口有一些不太一致,如果不需要接口兼容的话使用最新版就可以,我这里是需要旧版本的,所以进行了回溯(git reset --hard ad03a4ac7517b8cc3f21a2aa6e68b1a52cae74e4)安装教程github首页找不到,其实在wiki里后几页(原创 2021-09-01 22:20:48 · 1075 阅读 · 0 评论 -
WSL的安装
安装win10的WSL(linux子系统)双系统或者虚拟机(比如VMware)不太方便、不够小巧,所以我选择使用win10的WSL中的Ubunut (此处安装版本为Ubunut 18.04)。ps:WSL现在有个wsl2,功能更多,支持图形界面,但是我觉得wsl1够用了,所以并没有升级wsl2。1.1 WSL的几种安装方法1.1.1 开启wsl支持用管理员身份打开powershell,输入下面的命令(参考资料)$ dism.exe /online /enable-feature /feature原创 2021-08-17 14:51:23 · 9542 阅读 · 1 评论 -
nasm汇编器的安装与基本使用方法
实验环境ubuntu 18.04nasm安装sudo apt install nasm测试nasm -v示例代码test.s; 测试unpcklps指令 global main global msg extern puts section .textdata1 db 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16data2 db 17,18,19,20,21,22,23,24,2.原创 2021-08-17 14:54:37 · 1046 阅读 · 0 评论 -
Intel Pin 捕获系统调用
参考文章:https://blog.netspi.com/dynamic-binary-analysis-intel-pin/原创 2020-11-20 19:18:03 · 243 阅读 · 0 评论 -
VSCode使用attach process方法调试zsim模拟器(或者其它pintool工具)
简单记录一下,以防以后再次用到参考pin官方里面的debug教程,只是用vscode来取代gdb去attach。(使用gdb连接的官方教程,不同pin版本的文档基本一样)步骤:1、运行pintool(比如zsim),前提是运行pin的时候添加参数(-pause_tool n,n的单位为秒),这样pin在运行后,就会出现等待attach的对话,同时会提供attach的进程pid,这个pid后面会用到。2、设置断点,然后点调试(或者直接f5),前提是把launch.json文件替换成类似下面的{原创 2021-06-08 15:12:10 · 1208 阅读 · 0 评论 -
zsim模拟器安装与使用 trace-driven版
zsim默认不支持trace driven(源码里虽然有这一块,但是原作者没有完成吧,我猜),不过其他人完成了后续的工作地址 https://github.com/stanford-mast/zsim/tree/memtrace注意是memtrace分支https://github.com/s5z/zsim/issues/226环境gcc-7(apt安装,使用中科大的ppa反向代理下载快一下)在添加 source.list里加deb https://launchpad.proxy.ustclug原创 2021-01-23 01:29:41 · 2042 阅读 · 0 评论