当前位置: 技术问答>linux和unix
SIGSEGV 错误
来源: 互联网 发布时间:2016-05-11
本文导语: 开发一个应用程序,在虚拟机上编译后,mout到机顶盒上运行,每次一运行./AppMain,就显示这个错误:SIGSEGV,而且只有这一句,然后程序就停了。 网上说这是操作了不存在的内存,但如果是这样,我在程序入口(WinMain)...
开发一个应用程序,在虚拟机上编译后,mout到机顶盒上运行,每次一运行./AppMain,就显示这个错误:SIGSEGV,而且只有这一句,然后程序就停了。
网上说这是操作了不存在的内存,但如果是这样,我在程序入口(WinMain)里最开头,还没开始任何其他操作之前,打印一条信息,按理说这条信息应该会出现,但也没出现。按流程应该是运行到内存操作错误的地方打印SIGSEGV,之前的很多调试信息也应该打印出来才对啊。难道程序运行之前就会去操作内存,然后马上出错?
我刚做嵌入式开发不久,对linux也不太熟。不知道这是代码里面的问题,还是编译,或是运行环境的问题,希望高手能帮忙解答下。
网上说这是操作了不存在的内存,但如果是这样,我在程序入口(WinMain)里最开头,还没开始任何其他操作之前,打印一条信息,按理说这条信息应该会出现,但也没出现。按流程应该是运行到内存操作错误的地方打印SIGSEGV,之前的很多调试信息也应该打印出来才对啊。难道程序运行之前就会去操作内存,然后马上出错?
我刚做嵌入式开发不久,对linux也不太熟。不知道这是代码里面的问题,还是编译,或是运行环境的问题,希望高手能帮忙解答下。
|
交叉编译了解吗?编译器用的是对应机顶盒的吗?
|
这样吧,你在你的编译机器上能运行你的程序吗?
|
这样吧,你在你的编译机器上能运行你的程序吗?
|
问一下你的同事吧,看上去是你的编译环境没有搭对。