汇编程序调试提示xxx.exe已出发了一个断点

小小白白白白 2019-04-14 09:56:35
32位的汇编程序 引用了Irvine32链接库,调试能过,黑色运行窗口也能弹出并运行。 奇怪的是总是提示xxx.exe已出发一个断点 另外关闭黑框框时会进程未响应。 求解答,谢谢!
...全文
210 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zara 2019-04-15
  • 打赏
  • 举报
回复
WriteString,那个 Var1 不是 string 只是个数值啊,而且函数是不是以 eax 作为参数还不一定的,所以可能是因此访问了异常空间而出错;不过,一般也应该是先出错,然后才是主线程结束吧。
小小白白白白 2019-04-15
  • 打赏
  • 举报
回复
源代码就是: Include Irvine32.inc .code Var1 dword 21h .data Mov eax,Var1 Call WriteString (Main endp之类的模板省略不写了 ) 单纯想试一下而已,用的特简单的指令,能运行但就是有这个奇葩提示。 把书上的长点的源代码敲进去就直接报错(检查好多遍,原样抄进去的) 问一同学,他的vs2017也同样出现这个情况,确实古怪
小小白白白白 2019-04-15
  • 打赏
  • 举报
回复
引用 3 楼 zara的回复:
WriteString,那个 Var1 不是 string 只是个数值啊,而且函数是不是以 eax 作为参数还不一定的,所以可能是因此访问了异常空间而出错;不过,一般也应该是先出错,然后才是主线程结束吧。
我想我找到原因了,但不清楚什么道理 你说的writestring是我用的不对,但不是导致出现断点的原因。 我刚才尝试把main ENDP前的 INVOKE ExitProcess,0给注释掉了,即相当于删了。 就出现了断点,加上以后就没了。 但是昨天是不是因为INVOKE ExitProcess,0不太记得。。 大佬知道这INVOKE ExitProcess,0是如何导致出现断点的吗
zara 2019-04-14
  • 打赏
  • 举报
回复
这个,太少信息了吧。提示线程已结束了,往往就是你的代码部分也完成了,再出问题,就古怪了,源程序上来看看?或者,进入断点现场看看,是哪里出的,什么状态。
设备树(device tree)机制是Linux内核从linux-3.x版本开始引进的一种机制,目的是解决内核源码的arch/arm目录下代码混乱的问题:随着ARM生态的快速发展,在内核源码的arch/arm目录下,存放着几十种arm芯片和几百个开发板相关的源文件,很多开发板和处理器的中断、寄存器等相关硬件资源都在这个目录下以.c或.h的文件格式定义。而对于内核来说,与这些硬件耦合,会导致内核代码混乱不堪,每个开发板上运行的内核镜像都必须单独编译配置,无法通用。什么时候Linux内核能像Windows镜像那样,无论你的电脑什么配置,一个Windows安装包,都可以直接下载安装运行呢?设备树机制,实现了Linux内核和硬件平台的解耦:每个硬件平台的硬件资源使用一个设备树文件(xxx.dts)来描述,而不是在arch/arm下以.c 或 .h 文件来定义。Linux内核是一个通用的内核,在启动过程中,在通过解析设备树中的硬件资源来初始化某个具体的平台。 引入设备树后,很多和内核驱动开发的工作也发生了变化:以往驱动工程师关注的头文件宏定义、寄存器定义,现在这些基本上不用关注,关注的重点则转向了如何根据硬件平台去配置和修改设备树文件。很多驱动的编程接口也发生了变化,开始慢慢使用device tree提供的编程接口去开发驱动。本期课程主要面向嵌入式开发人员,分享Linux下驱动开发所需要的设备树知识和必备技能

21,459

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧