对所发下来的原始的代码,尝试对主核使用SWLU工具进行性能测试,如下所示
int main(int argc, char* argv[])
{
swlu_debug_init();
athread_init();
swlu_prof_init();
swlu_prof_start();
run_and_check();
athread_halt();
swlu_prof_stop();
swlu_prof_print();
return 0;
}
Makefile
正确链接了库且包含了头文件,能够通过编译,但是运行是会报错
warning: node [0]: user's mpe task: tid = 0, pid = 13080, terminated by sig 11.
Job xxx has been finished. exit_code is 104.
make: *** [ run ] 错误 104
看起来应该是收到了SIGSEGV
后退出,同时,如果不调用SWLU工具,
int main(int argc, char* argv[])
{
//swlu_debug_init();
athread_init();
//swlu_prof_init();
//swlu_prof_start();
run_and_check();
athread_halt();
//swlu_prof_stop();
//swlu_prof_print();
return 0;
}
则能够正常运行。
查阅SWLU文档可知,如果程序存在使用未初始化内存的情况,则有可能出现这种情况。但是似乎这种情况已经被修复?
有没有朋友遇到过类似的问题,真诚求助。