gdb 用不習慣,土炮 printf/cout 搭配用好夥伴;至少不用整天 cout << "fuck" 這樣 XD
[Prerequisite/Synopsis]
#include <stdio.h>
void perror(const char *s);
#include <errno.h>
const char *sys_errlist[];
int sys_nerr;
int errno;
[說明]
有些 standard function 遇到錯誤的時候會自己去設 errno ,include 這兩個 header file 之後就可以把函式設的 errno 直接轉成錯誤訊息輸出,省掉 cout 半天的煩惱。
可以搭配 return value check / assert 使用。
[Example]
n = write(sock,ToNet.c_str(),ToNet.size()+1);
if (n < 0)
{
perror("ERROR writing to socket:");
return 1;
}
有 Error 時的 Output:
ERROR writing to socket: <system error message>
[Reference]
man page:
http://www.kernel.org/doc/man-pages/online/pages/man3/perror.3.html
沒有留言:
張貼留言