调试打印到ram文件的非侵入性方式

时间:2015-08-19 07:08:25

标签: c

我正在寻找一种将局部变量写入文件的非侵入性方法,以将其用作调试机制。非侵入性部分意味着调试代码应具有尽可能少的执行时间,并且应该最小程度地干扰正在调试的方法。

示例:

代码深处的某个地方有一个unsigned int method(short *frame, int length) { process-frame(short *frame, int length); }

frame

它每秒被调用100次,我想打印出unsigned int method(short *frame, int length) { static FILE * rawPcmLog; if (rawPcmLog == NULL) rawPcmLog = fopen("/tmp/rawPcm","w"); int i; for (i=0; i<length; i++){ fwrite(frame,length, 1,rawPcmLog); } process-frame(short *frame, int length); } 的内容。由于该过程是时间敏感的,我无法打印到终端,但会在ram中打印到文件中。我正在寻找一种在功能范围内完成它的方法。

1 个答案:

答案 0 :(得分:0)

我到目前为止最好的是这个。我可以通过更优化的方法获得其他答案

public void setButtonPlumbedToJs(int keyCode, boolean override) {
    switch (keyCode) {
        case KeyEvent.KEYCODE_VOLUME_DOWN:
        case KeyEvent.KEYCODE_VOLUME_UP:
        case KeyEvent.KEYCODE_BACK:
        case KeyEvent.KEYCODE_MENU: