wow7jiao 发表于 2018-6-24 12:57:51

c语言反汇编插入断点过程中需要提供一个整数输入,不然反汇编错误,请问怎么插入?

#include <stdio.h>

int main()
{
        int a;


        printf("请输入一个整数:");
        scanf("%d", &a);
        printf("a = %d\n", a);



        return 0;//我把断点插在这里,但是反汇编不通过,因为上面没有输入。
}

人造人 发表于 2018-6-24 12:57:52

wow7jiao 发表于 2018-6-24 16:23
我加了文件头
#include也通过不了



人造人 发表于 2018-6-24 13:31:37

什么?

ba21 发表于 2018-6-24 13:34:27

这是肯定的吧。你前面scanf要求输入就断下了。你不输它怎么到你的return0处。这是常识好吧。

wow7jiao 发表于 2018-6-24 13:39:01

ba21 发表于 2018-6-24 13:34
这是肯定的吧。你前面scanf要求输入就断下了。你不输它怎么到你的return0处。这是常识好吧。

我是就看scanf 的反汇编代码,试验一下scanf接受的是地址还是别的什么,会不会自动添加&

不能在断点前输入整数就不能反汇编

wow7jiao 发表于 2018-6-24 13:41:06

人造人 发表于 2018-6-24 13:31
什么?

想试验一下scanf的反汇编接受的数据是什么类型,会不会自动添加取地符号&,我现在用vs2017反汇编通过不了,因为读到sancf没有整数输入,直接报告错误

人造人 发表于 2018-6-24 13:44:32

wow7jiao 发表于 2018-6-24 13:41
想试验一下scanf的反汇编接受的数据是什么类型,会不会自动添加取地符号&,我现在用vs2017反汇编通过不了 ...

   scanf("%d", &a);
在这一行下断点

wow7jiao 发表于 2018-6-24 14:05:59

还是通过不了,c++的头文件 和c的头文件语法不一样吗 ?这个#include “”?

人造人 发表于 2018-6-24 14:20:38

wow7jiao 发表于 2018-6-24 14:05
还是通过不了,c++的头文件 和c的头文件语法不一样吗 ?这个#include “”?

弄个gif看看

wow7jiao 发表于 2018-6-24 16:02:31

开头有点录错了

人造人 发表于 2018-6-24 16:11:59

wow7jiao 发表于 2018-6-24 16:02
开头有点录错了

没有编译通过

wow7jiao 发表于 2018-6-24 16:23:31

人造人 发表于 2018-6-24 16:11
没有编译通过

我加了文件头
#include <stdafx.h> 也通过不了

wow7jiao 发表于 2018-6-24 18:06:34

人造人 发表于 2018-6-24 16:36


谢谢人造人老师。编译成功
页: [1]
查看完整版本: c语言反汇编插入断点过程中需要提供一个整数输入,不然反汇编错误,请问怎么插入?