使用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

.386
.model flat,stdcall
.stack 4096
ExitProcess proto,dwExitCode:dword

.code
main proc
    mov    eax,5                
    add    eax,6                

    invoke ExitProcess,0
main endp
end main

 OK!ctrl+F5,運行,走你!

 nice!

F5調試:

先打個斷點

  來深入了解寄存器吧!

 如果沒有寄存器窗口

 

 開啟匯編二進制之旅!

wait! 還有一個 列表文件

  

  沒有.lst后綴的列表文件

配置:

1、右鍵項目,屬性

  2、配置

 3、重新運行(如果出現LNK 1104的錯誤,並且確定路徑沒問題,可以多嘗試幾次重新創建項目)

查看項目目錄下:

 

  有了!它可以幫助更好的理解匯編代碼。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM