File tree Expand file tree Collapse file tree 3 files changed +14
-0
lines changed Expand file tree Collapse file tree 3 files changed +14
-0
lines changed Original file line number Diff line number Diff line change @@ -194,6 +194,11 @@ STATIC mp_obj_t mp_sys_settrace(mp_obj_t obj) {
194
194
}
195
195
MP_DEFINE_CONST_FUN_OBJ_1 (mp_sys_settrace_obj , mp_sys_settrace );
196
196
197
+ STATIC mp_obj_t mp_sys_gettrace () {
198
+ return mp_prof_gettrace ();
199
+ }
200
+ MP_DEFINE_CONST_FUN_OBJ_0 (mp_sys_gettrace_obj , mp_sys_gettrace );
201
+
197
202
// _getframe(): Return current frame object.
198
203
STATIC mp_obj_t mp_sys_getframe (size_t n_args , const mp_obj_t * args ) {
199
204
int depth = 0 ;
@@ -283,6 +288,7 @@ STATIC const mp_rom_map_elem_t mp_module_sys_globals_table[] = {
283
288
284
289
#if MICROPY_PY_SYS_SETTRACE
285
290
{ MP_ROM_QSTR (MP_QSTR_settrace ), MP_ROM_PTR (& mp_sys_settrace_obj ) },
291
+ { MP_ROM_QSTR (MP_QSTR_gettrace ), MP_ROM_PTR (& mp_sys_gettrace_obj ) },
286
292
{ MP_ROM_QSTR (MP_QSTR__getframe ), MP_ROM_PTR (& mp_sys_getframe_obj ) },
287
293
#endif
288
294
Original file line number Diff line number Diff line change @@ -355,6 +355,13 @@ mp_obj_t mp_prof_settrace(mp_obj_t callback) {
355
355
return mp_const_none ;
356
356
}
357
357
358
+ mp_obj_t mp_prof_gettrace () {
359
+ if (prof_trace_cb == MP_OBJ_NULL ) {
360
+ return mp_const_none ;
361
+ }
362
+ return prof_trace_cb ;
363
+ }
364
+
358
365
mp_obj_t mp_prof_get_frame (int depth ) {
359
366
360
367
mp_code_state_t * code_state = MP_STATE_THREAD (current_code_state );
Original file line number Diff line number Diff line change @@ -61,6 +61,7 @@ mp_obj_t mp_obj_new_frame(const mp_code_state_t *code_state);
61
61
62
62
// This is the implementation for the sys.settrace
63
63
mp_obj_t mp_prof_settrace (mp_obj_t callback );
64
+ mp_obj_t mp_prof_gettrace ();
64
65
65
66
mp_obj_t mp_prof_get_frame (int depth );
66
67
mp_obj_t mp_prof_frame_enter (mp_code_state_t * code_state );
You can’t perform that action at this time.
0 commit comments