source: EcnlProtoTool/trunk/mruby-1.3.0/mrbgems/mruby-bin-debugger/tools/mrdb/cmdrun.c@ 331

Last change on this file since 331 was 331, checked in by coas-nagasima, 6 years ago

prototoolに関連するプロジェクトをnewlibからmuslを使うよう変更・更新
ntshellをnewlibの下位の実装から、muslのsyscallの実装に変更・更新
以下のOSSをアップデート
・mruby-1.3.0
・musl-1.1.18
・onigmo-6.1.3
・tcc-0.9.27
以下のOSSを追加
・openssl-1.1.0e
・curl-7.57.0
・zlib-1.2.11
以下のmrbgemsを追加
・iij/mruby-digest
・iij/mruby-env
・iij/mruby-errno
・iij/mruby-iijson
・iij/mruby-ipaddr
・iij/mruby-mock
・iij/mruby-require
・iij/mruby-tls-openssl

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/x-csrc;charset=UTF-8
File size: 1.2 KB
Line 
1/*
2** cmdrun.c - mruby debugger run command functions
3**
4*/
5
6#include <mruby/opcode.h>
7#include "mrdb.h"
8
9dbgcmd_state
10dbgcmd_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 }
17 else {
18 dbg->xm = DBG_QUIT;
19 if (dbg->xphase == DBG_PHASE_RUNNING){
20 struct RClass *exc;
21 puts("Start it from the beginning.");
22 exc = mrb_define_class(mrb, "DebuggerRestart", mrb_class_get(mrb, "Exception"));
23 mrb_raise(mrb, exc, "Restart mrdb.");
24 }
25 }
26
27 return DBGST_RESTART;
28}
29
30dbgcmd_state
31dbgcmd_continue(mrb_state *mrb, mrdb_state *mrdb)
32{
33 mrb_debug_context *dbg = mrdb->dbg;
34 int ccnt = 1;
35
36 if (mrdb->wcnt > 1){
37 sscanf(mrdb->words[1], "%d", &ccnt);
38 }
39 dbg->ccnt = (uint16_t)(ccnt > 0 ? ccnt : 1); /* count of continue */
40
41 if (dbg->xphase == DBG_PHASE_AFTER_RUN){
42 puts("The program is not running.");
43 dbg->xm = DBG_QUIT;
44 }
45 else {
46 dbg->xm = DBG_RUN;
47 }
48 return DBGST_CONTINUE;
49}
50
51dbgcmd_state
52dbgcmd_step(mrb_state *mrb, mrdb_state *mrdb)
53{
54 mrdb->dbg->xm = DBG_STEP;
55 return DBGST_CONTINUE;
56}
57
58dbgcmd_state
59dbgcmd_next(mrb_state *mrb, mrdb_state *mrdb)
60{
61 mrdb->dbg->xm = DBG_NEXT;
62 mrdb->dbg->prvci = mrb->c->ci;
63 return DBGST_CONTINUE;
64}
Note: See TracBrowser for help on using the repository browser.