mirror of
https://github.com/pocketpy/pocketpy
synced 2025-10-20 11:30:18 +00:00
add bool reset
to settrace
This commit is contained in:
parent
0ec84bca99
commit
6708c85f57
@ -107,7 +107,7 @@ PK_API void py_setvmctx(void* ctx);
|
|||||||
/// Set `sys.argv`. Used for storing command-line arguments.
|
/// Set `sys.argv`. Used for storing command-line arguments.
|
||||||
PK_API void py_sys_setargv(int argc, char** argv);
|
PK_API void py_sys_setargv(int argc, char** argv);
|
||||||
/// Set the trace function for the current VM.
|
/// Set the trace function for the current VM.
|
||||||
PK_API void py_sys_settrace(py_TraceFunc func);
|
PK_API void py_sys_settrace(py_TraceFunc func, bool reset);
|
||||||
/// Setup the callbacks for the current VM.
|
/// Setup the callbacks for the current VM.
|
||||||
PK_API py_Callbacks* py_callbacks();
|
PK_API py_Callbacks* py_callbacks();
|
||||||
|
|
||||||
|
@ -1454,9 +1454,10 @@ static bool stack_format_object(VM* self, c11_sv spec) {
|
|||||||
#undef INSERT_THIRD
|
#undef INSERT_THIRD
|
||||||
#undef vectorcall_opcall
|
#undef vectorcall_opcall
|
||||||
|
|
||||||
void py_sys_settrace(py_TraceFunc func) {
|
void py_sys_settrace(py_TraceFunc func, bool reset) {
|
||||||
TraceInfo* info = &pk_current_vm->trace_info;
|
TraceInfo* info = &pk_current_vm->trace_info;
|
||||||
info->func = func;
|
info->func = func;
|
||||||
|
if(!reset) return;
|
||||||
if(info->prev_loc.src) {
|
if(info->prev_loc.src) {
|
||||||
PK_DECREF(info->prev_loc.src);
|
PK_DECREF(info->prev_loc.src);
|
||||||
info->prev_loc.src = NULL;
|
info->prev_loc.src = NULL;
|
||||||
|
@ -95,7 +95,7 @@ int main(int argc, char** argv) {
|
|||||||
py_initialize();
|
py_initialize();
|
||||||
py_sys_setargv(argc, argv);
|
py_sys_setargv(argc, argv);
|
||||||
|
|
||||||
if(trace) py_sys_settrace(tracefunc);
|
if(trace) py_sys_settrace(tracefunc, true);
|
||||||
|
|
||||||
if(filename == NULL) {
|
if(filename == NULL) {
|
||||||
printf("pocketpy " PK_VERSION " (" __DATE__ ", " __TIME__ ") ");
|
printf("pocketpy " PK_VERSION " (" __DATE__ ", " __TIME__ ") ");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user