| |
120 |
120 |
|
| |
121 |
121 |
|
| |
122 |
122 |
|
| |
123 |
123 |
|
| |
124 |
124 |
|
| |
125 |
125 |
|
| |
126 |
126 |
|
| |
127 |
127 |
framePtr = (Tcl_CallFrame *)Tcl_Interp_framePtr(interp); |
| |
128 |
128 |
fprintf(stderr, "... varFrame flags clientData lvl ns\n"); |
| |
129 |
129 |
for (; framePtr != NULL; framePtr = Tcl_CallFrame_callerPtr(framePtr)) { |
| |
130 |
130 |
unsigned int frameFlags = (unsigned int)Tcl_CallFrame_isProcCallFrame(framePtr); |
| |
131 |
131 |
NsfCallStackContent *cscPtr = |
| |
132 |
132 |
(frameFlags & (FRAME_IS_NSF_METHOD|FRAME_IS_NSF_CMETHOD)) ? |
| |
133 |
133 |
((NsfCallStackContent *)Tcl_CallFrame_clientData(framePtr)) : NULL; |
| |
134 |
134 |
|
| |
135 |
135 |
fprintf(stderr, "... %16p %.6x %16p %3d %16p %s ov %s %d", |
| |
136 |
136 |
(void *)framePtr, frameFlags, |
| |
137 |
137 |
Tcl_CallFrame_clientData(framePtr), |
| |
138 |
138 |
Tcl_CallFrame_level(framePtr), |
| |
139 |
139 |
(void *)Tcl_CallFrame_nsPtr(framePtr), Tcl_CallFrame_nsPtr(framePtr)->fullName, |
| |
140 |
|
Tcl_CallFrame_objc(framePtr) && 0 ? ObjStr(Tcl_CallFrame_objv(framePtr)[0]) : "(null)", |
| |
141 |
|
Tcl_CallFrame_objc(framePtr) ? Tcl_CallFrame_objc(framePtr) : -1); |
| |
|
140 |
Tcl_CallFrame_objc(framePtr) > 0 ? ObjStr(Tcl_CallFrame_objv(framePtr)[0]) : "(null)", |
| |
|
141 |
Tcl_CallFrame_objc(framePtr) > 0 ? Tcl_CallFrame_objc(framePtr) : -1); |
| |
142 |
142 |
if (cscPtr != NULL) { |
| |
143 |
143 |
fprintf(stderr, " csc %p frameType %.4x flags %.6x (%s.%p %s)\n", |
| |
144 |
144 |
(void *)cscPtr, |
| |
145 |
145 |
cscPtr->frameType, |
| |
146 |
146 |
cscPtr->flags, |
| |
147 |
147 |
ObjectName(cscPtr->self), |
| |
148 |
148 |
(void *)cscPtr->cmdPtr, |
| |
149 |
149 |
Tcl_GetCommandName(interp, cscPtr->cmdPtr)); |
| |
150 |
150 |
} else { |
| |
151 |
151 |
fprintf(stderr, " no csc"); |
| |
152 |
152 |
if (frameFlags & FRAME_IS_NSF_OBJECT) { |
| |
153 |
153 |
NsfObject *object = (NsfObject *)Tcl_CallFrame_clientData(framePtr); |
| |
154 |
154 |
fprintf(stderr, " obj %p %s", (void *)object, ObjectName(object)); |
| |
155 |
155 |
} |
| |
156 |
156 |
fprintf(stderr, "\n"); |
| |
157 |
157 |
} |
| |
158 |
158 |
} |
| |
159 |
159 |
} |
| |
160 |
160 |
|
| |
161 |
161 |
|