feecb7d4be
This make the system trace check for repeating lines, and only print a "(last message repeated n lines.)" instead of the real message multiple times. This keeps the trace much shorter if messages are repeated. The drawback is that the replacement count message will only get printed on the next line getting traced, so until that happens it swallows the repeated lines. Before saving the systrace buffer is flushed, so this should not raise a problem. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25878 a1c6a512-1295-4272-9138-f99709370657
51 lines
1.6 KiB
C++
51 lines
1.6 KiB
C++
/***************************************************************************
|
|
* __________ __ ___.
|
|
* Open \______ \ ____ ____ | | _\_ |__ _______ ___
|
|
* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
|
|
* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
|
|
* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
|
|
* \/ \/ \/ \/ \/
|
|
*
|
|
* Copyright (C) 2007 by Dominik Riebeling
|
|
* $Id$
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public License
|
|
* as published by the Free Software Foundation; either version 2
|
|
* of the License, or (at your option) any later version.
|
|
*
|
|
* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
|
* KIND, either express or implied.
|
|
*
|
|
****************************************************************************/
|
|
|
|
#ifndef SYSTRACE_H
|
|
#define SYSTRACE_H
|
|
|
|
#include <QtGui>
|
|
#include "ui_systracefrm.h"
|
|
|
|
class SysTrace : public QDialog
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
SysTrace(QWidget *parent);
|
|
static void debug(QtMsgType type, const char* msg);
|
|
static QString getTrace() {return debugbuffer;}
|
|
static void save(QString filename = "");
|
|
private:
|
|
static void flush(void);
|
|
Ui::SysTraceFrm ui;
|
|
static QString debugbuffer;
|
|
static QString lastmessage;
|
|
static unsigned int repeat;
|
|
|
|
private slots:
|
|
void saveCurrentTrace(void);
|
|
void savePreviousTrace(void);
|
|
void refresh(void);
|
|
|
|
};
|
|
|
|
#endif
|
|
|