首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在x64dbg下运行的程序会立即完成

在x64dbg下运行的程序会立即完成
EN

Stack Overflow用户
提问于 2020-07-11 08:21:15
回答 2查看 408关注 0票数 1

我在Windows10下使用SourceForge的x64dbg调试器,我一直有一个问题,我认为可能是因为我自己的愚蠢,但到目前为止我还不能确定它。

我正在使用MASM汇编程序,当我处理一个问题时,我通常会编写一个只包含几条指令的程序,然后用调试器跟踪它,看看在一个简单的上下文中到底发生了什么。

我使用一个名为temp1的程序已经有几个星期了,现在突然当我使用调试器运行这个程序时,调试数据在x64dbg屏幕上闪烁了几分之一秒,然后程序一直运行到结束,就像我单击了debug→run而没有断点一样。

我尝试在程序中添加更多的指令,但结果仍然是一样的。因此,我将程序重命名为bozo,并使用该名称对其进行汇编和链接,其中只有两条指令。当我在x64dbg下运行bozo.exe时,它在第一条指令上停止,没有任何问题。

这到底是怎么回事?仅仅使用一个不同的程序名怎么能改变调试器的行为呢?

EN

回答 2

Stack Overflow用户

发布于 2021-01-18 11:32:02

转到Options→Preferences (设置),并在Events选项卡中确保选择了entry breakpoint,这样x64dbg就会在程序进入时中断,然后它才会执行任何操作。

票数 2
EN

Stack Overflow用户

发布于 2021-06-19 19:16:46

x64dbg将设置、断点、注释等基于被调试文件名保存在所谓的“数据库”中。

例如,如果您的被调试对象是bozo.exe 64位可执行文件,则其数据库将保存在bozo.exe.dd64文件中,以保留您的设置,以便将来使用相同的(bozo.exe)文件。

完整路径如下所示

代码语言:javascript
复制
c:\Program Files\x64dbg\x64\db\bozo.exe.dd64

但这并不重要,因为它是在打开/附加被调试bozo.exe之后自动加载的。

它解释了为什么简单的文件名更改(它使用默认设置创建新数据库)可能会更改调试器的行为。

(其余的解释在Alicia's answer中。)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62843903

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档