如何让程序运行时不显示debug信息.
用gcc 在 redhat 上编译 (没有什么参数). 跑程序时因为一些运行错误而显示backtrace / memory map的信息. 但其实程序还可以运行(比如下面的double free问题)如何能让程序不显示这些debug信息?
*** glibc detected *** double free or corruption (!prev)0x0000000000e9cac0 ***
======= Backtrace: =========
/lib64/libc.so.6
/lib64/libc.so.6
/lib64/libc.so.6(fclose+0x14d)
/lib64/libc.so.6(__libc_start_main+0xfd)
======= Memory map: ========
00400000-00423000 r-xp 00000000 fd:00 1310884
00622000-00623000 rw-p 00022000 fd:00 1310884
这还能继续运行?你没搞错么? $ env
MALLOC_CHECK=1
设置了这个环境变量? 这个应该不是程序本身的打印信息,而是在Linux环境下 操作系统的打印信息。告诉指针被多次释放。比如在windows下运行你的这个程序就不会有这种打印信息。 程序已经挂掉了。。 重新查你的程序肯定是有问题的!!!
页:
[1]