HH123_3 2022-01-23 23:53 采纳率: 77.6%
浏览 24
已结题

刚学Win32汇编语言,使用MASM32 sdk来进行汇编、链接和调试,这个自带的调试工具Vkdebug该如何使用

我看了vkdebug帮助文档之后,大概了解到以下信息

  1. 一些命令 ,如`PrintHex value [,text]" 以十六进制的形式输出value的值,value可以为寄存器或一个变量,可选输出text所表示的文本内容
  2. 在使用vkdebug之前,需要添加一些include...语句,如下所示
include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
include \masm32\include\masm32.inc
include \masm32\include\debug.inc 

includelib \masm32\lib\masm32.lib
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\debug.lib
  1. ;DBGWIN_DEBUG_ON = 1 ;turn it off if you don't want to include debug info into the program
    ;DBGWIN_EXT_INFO = 1 ;turn it off if you don't want to include extra debug info into the program 
    

写了一个汇编程序,来计算几个数的和,我想用vkdebug来查看最后的结果(PrintHex sum, "Sum value"), 程序如下

; AddVariables.asm
.386
.model flat, stdcall
.stack 4096
option casemap:none
ExitProcess PROTO, dwExitCode:DWORD


include \masm32\include\windows.inc
include \masm32\include\kernel32.inc
include \masm32\include\masm32.inc
include \masm32\include\debug.inc 

includelib \masm32\lib\masm32.lib
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\debug.lib

DBGWIN_DEBUG_ON = 1
DBGWIN_EXIT_INFO = 1

.data 
firstval DWORD 20002000h
secondval DWORD 11111111h
thirdval DWORD 22222222h
sum DWORD 0



.code
main PROC
    mov eax, firstval
    add eax, secondval
    add eax, thirdval
    mov sum, eax
    PrintHex sum, "Sum value"

    INVOKE ExitProcess,0
main ENDP
END main

然后我依次执行以下命令进行汇编、链接和执行,都没有报错,但是debug没看到起作用啊?我想要的最终结果没有看到,这个vkdebug该如何使用啊?

ml /c /coff AddVariable.asm
link /subsystem:windows AddVariable.obj
AddVariable.exe
  • 写回答

1条回答 默认 最新

  • 四海一叶秋 2022-01-24 10:28
    关注

    什么叫debug没看到作用?运行后弹出下图不算起作用?

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

    报告相同问题?

    问题事件

    • 系统已结题 2月1日
    • 已采纳回答 1月24日
    • 创建了问题 1月23日

    悬赏问题

    • ¥15 请教一下simulink中S函数相关问题
    • ¥15 Hadoop中eclipse运行问题
    • ¥15 在二层网络中,掩码存在包含关系即可通信
    • ¥15 端口转发器解析失败不知道电脑设置了啥
    • ¥15 Latex算法流程图行号自定义
    • ¥15 关于#python#的问题:我在自己的电脑上运行起来总是报错,希望能给我一个详细的教程,(开发工具-github)
    • ¥40 基于51单片机实现球赛计分器功能
    • ¥15 cs2游戏画面卡住,应用程序sid与指挥者sid不匹配
    • ¥15 实验七:Pandas要有实验截图和代码
    • ¥15 TypeError: Make sure that the iterable only contains strings.