首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我的小asm程序有段故障

我的小asm程序有段故障
EN

Stack Overflow用户
提问于 2017-03-17 11:12:46
回答 1查看 55关注 0票数 1

我是一个汇编语言新手,这是我的小程序。

代码语言:javascript
复制
section .data
section .text

global _start
_start:
    nop ; make gdb happy
    ; put your experiments here
    mov eax,4
    ; put your expeirments here
    nop ; make gdb happy

section .bss

这段代码是用以下命令编译的:

代码语言:javascript
复制
nasm -f elf64 -g -F stabs 001.asm -o 001.o
ld -o test 001.o

但是当我运行时,它会生成一个具有段错误的核心转储文件。

1.为什么这个小程序有段错误?

2.如何使用核心转储文件对此进行gdb在这里输入图像描述

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-03-17 11:19:38

您的程序不包含结束它的代码。在执行代码中的最终nop之后,CPU将继续执行所包含的内存,直到它崩溃为止。若要解决此问题,请通知操作系统终止您的进程。在amd64 Linux上,您可以使用以下代码:

代码语言:javascript
复制
mov eax,60  ; system call 60: exit
xor edi,edi ; set exit status to zero
syscall     ; call the operating system
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42856035

复制
相关文章

相似问题

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