Last change
on this file since 270 was 270, checked in by coas-nagasima, 7 years ago |
mruby版ECNLプロトタイピング・ツールを追加
|
-
Property svn:eol-style
set to
native
-
Property svn:keywords
set to
Id
-
Property svn:mime-type
set to
text/x-csrc
|
File size:
1.1 KB
|
Line | |
---|
1 | /*
|
---|
2 | ** cmdrun.c - mruby debugger run command functions
|
---|
3 | **
|
---|
4 | */
|
---|
5 |
|
---|
6 | #include "mruby/opcode.h"
|
---|
7 | #include "mrdb.h"
|
---|
8 |
|
---|
9 | dbgcmd_state
|
---|
10 | dbgcmd_run(mrb_state *mrb, mrdb_state *mrdb)
|
---|
11 | {
|
---|
12 | mrb_debug_context *dbg = mrdb->dbg;
|
---|
13 |
|
---|
14 | if( dbg->xm == DBG_INIT ){
|
---|
15 | dbg->xm = DBG_RUN;
|
---|
16 | } else {
|
---|
17 | dbg->xm = DBG_QUIT;
|
---|
18 | if( dbg->xphase == DBG_PHASE_RUNNING ){
|
---|
19 | struct RClass *exc;
|
---|
20 | puts("Start it from the beginning.");
|
---|
21 | exc = mrb_define_class(mrb, "DebuggerRestart", mrb_class_get(mrb, "Exception"));
|
---|
22 | mrb_raise(mrb, exc, "Restart mrdb.");
|
---|
23 | }
|
---|
24 | }
|
---|
25 |
|
---|
26 | return DBGST_RESTART;
|
---|
27 | }
|
---|
28 |
|
---|
29 | dbgcmd_state
|
---|
30 | dbgcmd_continue(mrb_state *mrb, mrdb_state *mrdb)
|
---|
31 | {
|
---|
32 | mrb_debug_context *dbg = mrdb->dbg;
|
---|
33 | int ccnt = 1;
|
---|
34 |
|
---|
35 | if( mrdb->wcnt > 1 ){
|
---|
36 | sscanf(mrdb->words[1], "%d", &ccnt);
|
---|
37 | }
|
---|
38 | dbg->ccnt = (uint16_t)(ccnt > 0 ? ccnt : 1); /* count of continue */
|
---|
39 |
|
---|
40 | if( dbg->xphase == DBG_PHASE_AFTER_RUN ){
|
---|
41 | puts("The program is not running.");
|
---|
42 | dbg->xm = DBG_QUIT;
|
---|
43 | } else {
|
---|
44 | dbg->xm = DBG_RUN;
|
---|
45 | }
|
---|
46 | return DBGST_CONTINUE;
|
---|
47 | }
|
---|
48 |
|
---|
49 | dbgcmd_state
|
---|
50 | dbgcmd_step(mrb_state *mrb, mrdb_state *mrdb)
|
---|
51 | {
|
---|
52 | mrdb->dbg->xm = DBG_STEP;
|
---|
53 | return DBGST_CONTINUE;
|
---|
54 | }
|
---|
Note:
See
TracBrowser
for help on using the repository browser.