你可以对比一下root用户和可以成功执行的用户两者间的环境差异,用set命令各导出一份环境变量列表,看是否哪里有不同。
另外,还可以对比检查一下ulimit -a,看是否不同。
有的时候,普通用户和root的PATH和LD_LIBRARY_PATH设置的不同会导致一些异常,比如说执行的根本不是同一个路径下的命令。
软件运行错误,终止并生成供分析调试用的core文件,如果是你自己写的软件,就借助core文件来调试,分析软件错误的原因,如果是别人的软件,就把core文件发过去,请求修补。如果是内核的core,通知厂商,让他们搞定。你机器是64位cpu吧,你按32位汇编教材上的例子,64位机器上直接跑一旦涉及到内存地址必然会报段错误的。
64位机器上函数调用方法也和32位不同了,即使不扯到内存地址,
你的程序也没法达到目的的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)