This morning the two Japaneses looks unhappy because we was off-duty yesterday evening.
So, this noon one of them dispatched tasks to us. My task today is to add debug infomation
into the source of synchronized question. As the guy said, we begin reading, understanding
and revising the source code of the large scale project. The project is so large that all
the C source files are total about 133 MB.
The guy hold a example how to add debug information into a source. In actual fact, it is
impossible to debug a module in this project with a tools. So, we must print so many error
inforamtion into a log file. Yes, some bugs can be caputered but some dormant bugs seldom can
found, such as death lock, memory allocation, etc. At the same time, it is a painful task to
seek my debug infomation in the so big log file. I must use grep, tail, head tools and so on.
The following code segment is that example.
struct DEV_ID{
int dev_id;
char dev_name[128];
};
DEV_ID dev_info;
...
if (getStruct(&dev_info)==TRUE){
SGCMNsyslogErr("dev_id: %u/n", dev_info.dev_id);
SGCMNsyslogErr("dev_name: %s/n", dev_info.name);
}
There is a interesting thing, we type code in the Window sytem and compile codes in Linux.
Eclipse is our main editor. However, gcc can not be used.
So, this noon one of them dispatched tasks to us. My task today is to add debug infomation
into the source of synchronized question. As the guy said, we begin reading, understanding
and revising the source code of the large scale project. The project is so large that all
the C source files are total about 133 MB.
The guy hold a example how to add debug information into a source. In actual fact, it is
impossible to debug a module in this project with a tools. So, we must print so many error
inforamtion into a log file. Yes, some bugs can be caputered but some dormant bugs seldom can
found, such as death lock, memory allocation, etc. At the same time, it is a painful task to
seek my debug infomation in the so big log file. I must use grep, tail, head tools and so on.
The following code segment is that example.
struct DEV_ID{
int dev_id;
char dev_name[128];
};
DEV_ID dev_info;
...
if (getStruct(&dev_info)==TRUE){
SGCMNsyslogErr("dev_id: %u/n", dev_info.dev_id);
SGCMNsyslogErr("dev_name: %s/n", dev_info.name);
}
There is a interesting thing, we type code in the Window sytem and compile codes in Linux.
Eclipse is our main editor. However, gcc can not be used.
本文讲述了在一个庞大的项目中进行调试的工作经历。项目规模庞大,仅C源文件就达到了133MB。为了查找bug,需要在代码中加入调试信息并记录到日志文件中,再通过grep等工具进行定位。
15

被折叠的 条评论
为什么被折叠?



