原Linux中strip命令的使用
假物者阅读数:6272019-01-05
版权声明:凡本人原创,转发请注明出处,谢谢!https://blog.csdn.net/qq_41248872/article/details/85860640
注意调试文件为udd格式,,当被调试文件路径发生变化时调试信息不再可用,,比如:你在c盘有一个文件用ollydby调试并加入注视或断点后,,把这个文件移到别的路径下,再用ollydbg打开调试信息注视和断点不被显示。.pdb文件,是vs生成的用于调试的符号文件(program database),保存着调试的信息。符号文件(symbol files)是一个数据信息文件,它包含了应用程序二进制文件(比如:exe、dll等)调试信息和项目状态信息,使用这些信息可以对程序的调试配置进行增量链接,最终生成的可执行文件在运行时并不需要这个符号文件,但你的程序中所有的变量信息都记录在这个文件中。
具体用法可通过man命令查询。
strip [可选项] 文件
arm上可以运行操作系统,所以用户完全可以将arm当做计算机来使用,理论上也可以在arm上使用本地的编译器来编译程序.但是,编译器在编译程序时,会产生大量的中间文件,这会占用很大的内存和磁盘空间,且对cpu处理速度要求较高,比如s3c2440a内存、磁盘空间只有几十到100多兆,cpu只有400-500mhz,完全达不到编译程序的要求.所以,在进行arm-linux嵌入式开发时必须在pc机(x86结构)上编译出能够运行在arm上的程序,然后再将程序下载到arm中来运行.这就用到了交叉编译器(当然我们也可以从我们简答的认识下去认识为什么使用交叉编译器,在我们平时开发的过程中,我们最多的使用的还是基于x86的平台,确切的可以说就是我们的pc机,因为pc机相对我们的开发板而言,资源是相对丰富的,我们可操作性较强)。(1)交叉性:程序并发执行对应某一种交叉linux命令,不同 的交叉可能导致不同的计算结果,操作系统应 当保证只产生导致正确结果的交叉,去除那些 可能导致不正确结果的交叉. (2)非封闭性:一个进程的运行环境可能被其它进 程所改变,从而相互影响. (3)不可再现性:由于交叉的随机性,并发程序的 多次执行可能对应不同的交叉,因而不能期望 重新运行的程序能够再现上次运行的结果.。对于交叉开发的工具链来说,在文件名称上加了一个前缀,用来区别本地的工具链。
可发现linux命令,文件strip前后,大小明显较小了。对于资源有限的嵌入式项目开发来说,这步操作无疑是十分必要的。