languages/java/debugger/dbgcontroller.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
#ifndef _DBGCONTROLLER_H_
00019
#define _DBGCONTROLLER_H_
00020
00021
#include <qobject.h>
00022
00023
class KProcess;
00024
class QString;
00025
class QStrList;
00026
00027
namespace JAVADebugger
00028 {
00029
00030
class Breakpoint;
00031
class DbgCommand;
00032
class VarItem;
00033
00034
00038
00039
00040 enum DBGStateFlags
00041 {
00042 s_dbgNotStarted = 1,
00043 s_appNotStarted = 2,
00044 s_appBusy = 4,
00045 s_waitForWrite = 8,
00046 s_programExited = 16,
00047 s_silent = 32,
00048 s_viewLocals = 64,
00049 s_viewBT = 128,
00050 s_viewBP = 256,
00051 s_attached = 512,
00052 s_core = 1024,
00053 s_waitTimer = 2048,
00054 s_shuttingDown = 4096,
00055
s_appStarting = 8192,
00056
s_parsingOutput = 8192*2,
00057
s_parsingLocals = 8192*4
00058 };
00059
00060
00061 enum DBGCommandFlags
00062 {
00063
c_Stackframe = 1,
00064
c_Locals = 2,
00065
c_BreakpointList = 3
00066 };
00067
00068
00069
00070
00071 class DbgController :
public QObject
00072 {
00073 Q_OBJECT
00074
00075
public:
00076
00077
DbgController();
00078
virtual ~DbgController();
00079
virtual void reConfig() = 0;
00080
00081
protected:
00082
virtual void queueCmd(
DbgCommand *cmd,
bool executeNext) = 0;
00083
virtual char *
parse(
char *str) = 0;
00084
00085
public slots:
00086
virtual void slotStart(
const QString &application,
const QString &args,
00087
const QString &sDbgShell=
QString()) = 0;
00088
virtual void slotCoreFile(
const QString &coreFile) = 0;
00089
virtual void slotAttachTo(
int pid) = 0;
00090
00091
virtual void slotRun() = 0;
00092
virtual void slotRunUntil(
const QString &fileName,
int lineNum) = 0;
00093
virtual void slotStepInto() = 0;
00094
virtual void slotStepOver() = 0;
00095
virtual void slotStepIntoIns() = 0;
00096
virtual void slotStepOverIns() = 0;
00097
virtual void slotStepOutOff() = 0;
00098
00099
virtual void slotBreakInto() = 0;
00100
virtual void slotBPState(
Breakpoint *BP) = 0;
00101
00102
virtual void slotDisassemble(
const QString &start,
const QString &end) = 0;
00103
virtual void slotMemoryDump(
const QString &start,
const QString &amount)= 0;
00104
virtual void slotRegisters() = 0;
00105
virtual void slotLibraries() = 0;
00106
00107
virtual void slotExpandItem(
VarItem *parent) = 0;
00108
virtual void slotExpandUserItem(
VarItem *parent,
00109
const QCString &userRequest) = 0;
00110
virtual void slotSelectFrame(
int frame) = 0;
00111
virtual void slotSetLocalViewState(
bool onOff) = 0;
00112
00113
protected slots:
00114
virtual void slotDbgStdout(
KProcess *proc,
char *buf,
int buflen) = 0;
00115 virtual void slotDbgStderr(
KProcess*,
char*,
int) {} ;
00116
virtual void slotDbgWroteStdin(
KProcess *proc) = 0;
00117
virtual void slotDbgProcessExited(
KProcess *proc) = 0;
00118
00119 signals:
00120
void rawData (
const QString &rawData);
00121
void gotoSourcePosition (
const QString &fileName,
int lineNum);
00122
void rawJDBBreakpointList (
char *buf);
00123
void rawJDBBreakpointSet (
char *buf,
int key);
00124
void rawJDBDisassemble (
char *buf);
00125
void rawJDBMemoryDump (
char *buf);
00126
void rawJDBRegisters (
char *buf);
00127
void rawJDBLibraries (
char *buf);
00128
void ttyStdout (
const char *output);
00129
void ttyStderr (
const char *output);
00130
00131
protected:
00132 KProcess *
dbgProcess_;
00133 };
00134
00135 }
00136
00137
#endif
This file is part of the documentation for KDevelop Version 3.0.4.