Public Repository

Last pushed: 2 years ago
Short Description
c/c++源代码调试器
Full Description

基本介绍
https://github.com/yunlongxue/xtrace/wiki/Why-xtrace

源代码
https://github.com/yunlongxue/xtrace

docker images
https://hub.docker.com/r/xueyunlong/xtrace/
运行 :docker run -it xueyunlong/xtrace:demo /bin/bash
编译 :cd ~/xtrace; make;

  4.  示例
示例程序:
    cd ~/xtrace/xdemo; make;
    xdump.c 编译后的可执行码是xdump;
    运行 ./xdump查看运行输出

xdump输出:
XTRACE|27142|Process (ppid=27065) start at: 2015-3-3:21-32-5
XTRACE|27142|xdump.c-15-main|1|0s|0s-523us|
XTRACE|27142|xdump.c-16-main|1|0s|0s-160us|
XTRACE|27142|xdump.c-10-fun|1|0s|0s-135us|
XTRACE|27142|xdump.c-11-fun|1|2s|2s-230us|
XTRACE|27142|xdump.c-18-main|1|2s|0s-253us|
XTRACE|27142|xdump.c-19-main|1|2s|0s-129us|
XTRACE|27142|xdump.c-20-main|1|2s|0s-145us|
XTRACE|27142|xdump.c-19-main|2|2s|0s-126us|
Floating point exception (core dumped)
根据输出信息, 分析xdump.c程序:
程序开始时间:2015-3-3:21-32-5 程序开始运行到完成,使用时间:2s
程序的执行路径如下: main -> fun -> main
程序的性能瓶颈在函数fun, 文件第11行,本处执行用了时间:2s 性能瓶颈代码:sleep( 2 );
程序在第19行第二次循环后产生异常。 所以dump.c在第20行,for循环执行第二次循环时候,程序出现异常。
xdump.c:BEGIN=======================================================

#include <stdio.h>

void fun( )
{
sleep( 2 );
}

int main( )
{
int i, j;

    fun();
    for ( i = 1; i < 10; i++ )  {
            j = 10 / ( i - 2 );
    }
    printf( "%d\n", j );
    return 0;

}
xdump.c:END=======================================================

Docker Pull Command
Owner
xueyunlong

Comments (0)