linux debug (DOS模拟器,模拟debug)
最近学习王爽那本《汇编语言》,但其实验均为windows环境,需要用到dos。
但最为一个unixer,岂能在windows下开发?所以,要用linux下的工具。
汇编器masm可以用gcc或as或nasm代替
链接器overlay linker可以用ld代替
至于调试器,若是调试普通的程序,用gdb即可。但就是没有像DOS中debug程序那样可以直接操作内存的调试器,因为linux运行在内核保护模式下,用户是不能随便操控内存的。或许gdb可以通过某种方式完成这个工作,但我没有找到教程。
有一个方法可以完美的解决这个问题,就是用这个dosemu模拟器. 用起来比真正的DOS还要爽。
debian系统下安装
sudo apt-get install dosemu
终端下输入dosemu,运行如图:
退出命令为exitemu
此外,还有一种解决办法是安装虚拟机,在虚拟机上装上freedos系统。
One more thing...... 真正的程序猿要懂得汇编
linux debug (DOS模拟器,模拟debug)的更多相关文章
- 在DOS下的DEBUG命令的详细用法
在DOS下的DEBUG命令的详细用法 名称 解释 格式 a (Assemble) 逐行汇编 a [address] c (Compare) 比较两内存块 c range address d (Dump ...
- 利用Linux的Samba服务模拟NT域
利用Linux的Samba服务模拟NT域 Samba是一个与Windows NT具有相同协议的软件包.我们可以利用Samba服务来模拟 Windows NT域,使用户从Windows计算机上直接使用一 ...
- 制作一个64M的U盘启动盘(mini linux + winpe +dos toolbox)
制作一个64M的U盘启动盘(mini linux + winpe +dos toolbox) 自己动手定制winpe+各类dos工具箱U盘启动盘+minilinux 由于一个64M老U盘,没什么用,拿 ...
- 【转帖】Linux系统上面qemu 模拟arm
零基础在Linux系统搭建Qemu模拟arm https://blog.csdn.net/weixin_42489042/article/details/81145038 自己没搞定 改天再试试 感谢 ...
- Linux下Tomcat启动设置debug模式启动
原文: https://blog.csdn.net/li295214001/article/details/42077247 https://blog.csdn.net/jackie_xiaonan/ ...
- Linux 中 IDEA 不能调试(Debug)项目
问题描述: can't debug project on idea linux. 在Linux 中, IDEA能运行项目,但是点击调试项目,弹出警告.警告内容如下: Required connecto ...
- 【整理】Linux 下 自己使用的 debug宏 printf
#ifdef __DEBUG_PRINTF__ /* * * Some Debug printf kit for devlopment * * Date : 2019.03.04 * * Editor ...
- C语言:类似linux内核的分等级DEBUG宏(打印宏)
总结几种log打印printf函数的宏定义 http://blog.chinaunix.net/uid-20564848-id-73402.html #include <stdio.h> ...
- 【linux基础】core dump debug
1.check core dump; ulimit -c or ulimit -a nvidia@tegra-ubuntu:~$ ulimit -a core data seg size (kbyte ...
随机推荐
- 关于c++的输入
vector<int> iv1, iv2; cout << "请为第一个vector容器装填整数元素,以s结尾:" << endl; int n ...
- mysql 查找包含特定名字的表
SELECT distinct TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME LIKE '%medias%'
- get值乱码(gbk编码浏览器造成)
$condition = urldecode($condition); 即可
- Checbox的操作含已选、未选及判断代码
Checbox的操作包括已选.未选.判断等等,下面有个不错的示例,使用jquery完成,感兴趣的朋友可以参考下 $("#chk1").attr("checked" ...
- Mysql锁机制和事务控制
如何加锁 锁定表的语法: LOCK TABLES tbl_name [AS alias] {READ [LOCAL] | [LOW_PRIORITY] WRITE} [, tbl_n ...
- 在ECSHOP首页今日特价(促销商品)增加倒计时效果
看到不少朋友在找首页特价商品倒计时的修改方法,写了这篇文章希望能帮到有此需要的朋友们 1.首先修改程序部分 打开includes/lib_goods.php 找到get_promote_goods() ...
- 【VB6 学习文档管理系统源码】
VB6写的一款笔记软件的源码,里面包含有很多窗体控件的使用技巧,比如MSHFlexgrid表格.TreeView的动态加载.Ado的增删改查等. 本软件提供对日常生活.工作中的学习笔记.图文并茂存储以 ...
- crontab没有正确重定向导致磁盘inode节点空间满
通常是发现磁盘没有满但是无法写入文件.提示“no space left on device” 用df -i 查看,应该会发现相应的分区是100% 一般都是crontab的job有问题,造成 ...
- C语言-06复杂数据类型-01数组
01-数组 #include <stdio.h> int main() { // 使用注意 // 都是正确写法 //int ages[5] = {10 , 11, 12, 67, 56}; ...
- hbase rowkey设计的注意事项
充分利用有序性 1.1 如果要scan操作,且不是很频繁,可以利用rowkey的有序性将需要一起扫描的数据放到一起.例如直接用时间戳.这样就可以按时间scan了.这个只要是简单的全表扫描都行. 1.2 ...