使用Visual Studio 2019--调试汇编32位代码的详细步骤
声明:本文使用32位masm,代码与16位,64位不同
---------------------------------------------------------------------------------------------------------------------------
遇到问题:
1、LINK 1104:
在网上找了很久,并没有解决问题。
解决方法:
点击visual studio编译后的错误提示:LINK 1104,查看官方文档
其中一条原因:路径过长!(= =,没错,就是这个)
我遇到的情况是:在路径下创建项目,第一个编写的文件正常运行,修改文件名或创建新文件后编译报错:LINK 1104
我的路径是:D:\project\Git\Assembly\Assembly Language For x86 Processors\chapter1
修改路径:D:\project\Git\
没有问题!
---------------------------------------------------------------------------------------------------------------------------------
1、官方下载安装器,安装社区版
2、选择:使用C++的桌面开发(或者选择:使用C++的游戏开发)
选择安装位置,共需要8G左右,占用我C盘2.多G(我的强迫症在吼)
3、克隆或签出代码
登录
and then,如果没有远程库需要先创建一个,不创建也没关系
3、安装扩展
再顺便安装个汇编的代码高亮
4、创建第一个汇编项目:AddTwo.asm(这不是我想要的Helloworld!)
OK,上图
双击或者点击“下一步”
关键来了———生成自定义:
钩选masm(.targets,.props)
来创建.asm文件,或者右键“源文件”--“添加”--“新建项”
画重点:不要用“Add New File”扩展
用插件快速创建的文件报错:
then,回到正道:(为什么不用:ctrl+shift+A创建)
Irvine 大佬的代码(学汇编可以看Assembly Language for x86 Processors的中文看版:《汇编语言 基于x86处理器》):
; AddTwo.asm - adds two 32-bit integers.
; Chapter 3 example .
.model flat,stdcall
.stack
ExitProcess proto,dwExitCode:dword .code
main proc
mov eax,
add eax, invoke ExitProcess,
main endp
end main
OK!ctrl+F5,运行,走你!
nice!
F5调试:
先打个断点
来深入了解寄存器吧!
如果没有寄存器窗口
开启汇编二进制之旅!
wait! 还有一个 列表文件
没有.lst后缀的列表文件
配置:
1、右键项目,属性
2、配置
3、重新运行(如果出现LNK 1104的错误,并且确定路径没问题,可以多尝试几次重新创建项目)
查看项目目录下:
有了!它可以帮助更好的理解汇编代码。
使用Visual Studio 2019--调试汇编32位代码的详细步骤的更多相关文章
- Visual Studio 2019及其注册码
Visual Studio 2019 更快地进行代码编写.更智能地执行操作.使用同类最佳IDE 创建未来. 下载Visual Studio 使用从初始设计到最终部署的完整工具集 ...
- Visual Studio远程调试监视器(MSVSMON.EXE)的32位版本不能用于调试64位进程或64位转储
在VS2013中调试Silverlight项目时,提示:无法附加.Visual Studio远程调试监视器(MSVSMON.EXE)的32位版本不能用于调试64位进程或64位转储.请改用64位版本. ...
- CLR调试报错“Visual Studio远程调试监视器 (MSVSMON.EXE) 的 64 位版本无法调试 32 位进程或 32 位转储。请改用 32 位版本”的解决
Win7 64位电脑上进行visual studio的数据库项目的CLR存储过程进行调试时,报错: ---------------------------Microsoft Visual Studio ...
- Visual Studio高级调试技巧
1. 设置软件断点,运行到目标位置启动调试器 方法①:使用汇编指令(注:x64 c++不支持嵌入汇编) _asm 方法②:编译器提供的方法 __debugbreak(); 方法③:使用windows ...
- Visual Studio远程调试
Visual Studio支持调试远程机器上的程序,经过简单设置后,就像调试本地代码一样方便. 第一步:将vs工具里的Remote Debugger文件夹拷贝到目标机器.大致的目录应该是:D:\Pro ...
- rocketmq-cpp-client Visual Studio 2019 编译
rocketmq-cpp-client Visual Studio 2019 编译 rocketmq-cpp-client 是rocketmq c++版本的 所以我们C++ 开发者使用此项目 构建 获 ...
- 总是弹出visual studio 实时调试器 三种解决办法
最近服务器老是弹出visual studio 实时调试器很是郁闷呀.关还关不掉.怎么解决呢 ,现像如下图所示: 下面我们一起来分析一下这种情况的原因: 弹出应用程序: Visual Studio 实时 ...
- Visual Studio 2019 正式发布,重磅更新,支持live share
如约而至,微软已于今天推出 Visual Studio 2019 正式版,一同发布的还有 Visual Studio 2019 for Mac. Visual Studio 2019 下载地址:htt ...
- “宇宙最强” IDE,Visual Studio 2019 正式发布
转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 本文由葡萄城翻译并发布 今天凌晨Visual Studio 2019已经正式发布,现在已经可以下载了.使用V ...
随机推荐
- python数据分析-数据导入
1.导入CSV格式数据 import pandas data = pandas.read_csv("C:\\Users\\zhaosai\\Desktop\\进击的DBA\\谁说菜鸟不会数据 ...
- Tiling_easy version
Tiling_easy version 思路:关于dp这种东西,有一点必须要想明白,就是状态与状态之间的转换关系,就比如说要求5个骨牌的方案数,因为有两种骨牌,那么可以用dp[3]+两个横着的骨牌或者 ...
- [洛谷P3941]:入阵曲(前缀和+桶)
题目传送门 题目背景 丹青千秋酿,一醉解愁肠.无悔少年枉,只愿壮志狂. 题目描述 小$F$很喜欢数学,但是到了高中以后数学总是考不好.有一天,他在数学课上发起了呆:他想起了过去的一年.一年前,当他初识 ...
- Java 注解指导手册(下)
9. 自定义注解 正如我们之前多次提及的,可以定义和实现自定义注解.本章我们即将探讨. 首先,定义一个注解: public @interface CustomAnnotationClass ...
- js 处理url参数,应用导航分类
1.先上图 2.代码 html <li><a href="javascript:void(0);" data-cid = "{$v['id']}&quo ...
- SSD 页、块、垃圾回收
基本操作: 读出.写入.擦除: 因为NAND闪存单元的组织结构限制,单独读写一个闪存单元是不可能的.存储单元被组织起来并有着十分特别的属性.要知道这些属性对于为固态硬盘优化数据结构的过程和理解其行为来 ...
- Vue -3:单文件组件
在很多 Vue 项目中,我们使用 Vue.component 来定义全局组件,紧接着用 new Vue({ el: '#container '}) 在每个页面内指定一个容器元素. 这种方式在很多中小规 ...
- 1、WebSphere Application Server的下载以及安装
最近在做农行相关的项目,我们的后台需要发布到农行WebSphere Application Server上,因此学习一下: 一.WebSphere 是什么? WebSphere 为 SOA (面向服务 ...
- java+实现文件的上传和下载
项目截图 路径配置 将localhost:8080/up6全部替换为实际项目路径 使用mysql文件夹下的脚本创建数据表. 创建后可以在数据库中看到创建好的数据表 2.修改数据库连接 3.修改上传地址 ...
- Python web 项目的依赖管理工具
Poetry可以帮助你声明.管理和安装Python项目的依赖项,确保你可以在任何地方都拥有正确的堆栈. Poetry支持Python 2.7 和Python 3以上 安装 Poetry提供了一个自定义 ...