因此,我有一个问题:我正在尝试做一项作业,有一次它要求我们使用IDA逐步调试一个简单的程序。问题是,当我在IDA中加载可执行文件时,菜单中的“调试器”选项突然消失。

究竟是什么情况,或者我在做什么错?

评论

请进一步介绍您的可执行文件和环境。操作系统?处理器?您在哪个操作系统上运行IDA?

在虚拟机中运行XP。我认为AMD Phenom II X6 1055T处理器...

那么您要调试的可执行文件又如何呢?

一个带有简单代码的.exe:#include int main(){//简化程序,执行简单的操作,并执行printf(“ Sumando dos enteros \ n”) int suma = 2 + 3; printf(“%i”,suma);返回0; }

#1 楼

您没有指定正在使用的IDA版本,或者根本没有尝试在运行IDA的计算机上运行可以由IDA调试的代码,但是可能还有另一种情况。

Chris Eagle在此IDA Pro书中写道...



每当您选择Debugger→Start Process(或Debugger→
附加到显示调试器警告消息
,说明以下内容:
将启动调试器。调试程序
意味着它将在您的系统上执行代码。
注意恶意程序,病毒和特洛伊木马!
备注:如果选择“否”,调试器将自动运行
禁用。
确定要继续吗?响应此警告选择“否”会导致从IDA菜单栏中删除“调试器”菜单
。在关闭活动数据库之前,将无法恢复“调试器”菜单。


所以也许您曾经回答过no,而IDA在数据库中还记得吗?从头开始进行新的分析,以查看菜单是否已恢复。

评论


是4.9版本。而且我不会同时使用这两个选项打开项目(甚至没有显示“ Star Process”之一)。该项目不想打开赢得虚拟机,它说有一条指令是不允许的。我在Lubuntu中制作了可执行文件,在该文件中运行良好。

– Ferydra
18年4月24日在17:28

您是用gcc在lububtu中制作的,所以它是elf?而您正在尝试在Windows中调试它?这是PE,不行

– blabb
18年4月24日在18:18



那我该怎么办呢?因为从理论上讲,gcc被认为可以工作(正如项目所说的那样)

– Ferydra
18年4月24日在19:17

@TheFerydra在Windows下编译,以创建PE,或者,我认为,使用IDA应该支持的远程调试(但不确定4.9是否可以这样做)

–PawełŁukasik
18年4月24日在19:19