6.S081环境配置

更好的阅读体验


title: 6.S081环境配置及参考资料
date: 2023-03-09 18:55:59
tags: [‘OS’, ‘6.S081’]

参考资料

安装XV6

apt-get update
sudo apt-get install git build-essential gdb-multiarch qemu-system-misc gcc-riscv64-linux-gnu binutils-riscv64-linux-gnu 

The latest xv6 source and text are available via

git clone git://github.com/mit-pdos/xv6-riscv.git

and

git clone git://github.com/mit-pdos/xv6-riscv-book.git
cd xv6-riscv
make qemu

安装成功

指针预备知识

#include <stdio.h>
#include <stdlib.h>

void f(void) {
   
   
    int a[4];
    int *b = malloc(16);
    int *c;
    int i;

    printf("1: a = %p, b = %p, c = %p\n", a, b, c);

    c = a;
    for (i = 0; i < 4; i++)
	a[i] = 100 + i;
    c[0] = 200;
    printf("2: a[0] = %d, a[1] = %d, a[2] = %d, a[3] = %d\n",
	   a[0], a[1], a[
### 关于6.S081课程中的GDB调试器使用指南 #### 使用GDB连接远程调试服务器 当应用程序停止等待来自调试器的继续指令时,可以通过启动GDB并输入特定命令来连接到目标程序[^1]。对于6.S081课程而言,在实验环境中通常会涉及到通过网络端口连接至运行在QEMU模拟环境下的内核或用户态进程。 为了实现这一点,可以在宿主机上执行如下操作: ```bash gdb (gdb) target remote localhost:33030 ``` 这将使本地安装的GDB实例能够与远端监听指定端口号的服务建立通信链接,并允许设置断点、单步执行以及查看变量值等功能。 #### 配置Qt Creator进行远程调试 除了命令行方式外,还可以利用集成开发环境IDE来进行更便捷的操作。例如,在Qt Creator中可以选择`Debug > Start Debugging > Attach to Running Debug Server`选项,随后填写对应的主机名和端口号完成配置过程[^2]。虽然此方法主要适用于图形界面应用项目,但对于熟悉该工具链的学生来说也是一种可行的选择方案之一。 #### 调试技巧提示 - **加载符号表**:确保已编译带调试信息的目标文件(即未开启优化选项),以便能正确解析源码位置。 - **常用命令** - `break main`: 设置入口函数处断点 - `(gdb) continue`: 继续执行直到遇到下一个断点 - `(gdb) step / next`: 单步步过当前语句;区别在于前者进入子函数而后者跳过不展开调用细节
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值