| 378 | } |
| 379 | |
| 380 | void TelnetDebugger::executionStopped(CodeBlock *code, U32 lineNumber) |
| 381 | { |
| 382 | if(mProgramPaused) |
| 383 | return; |
| 384 | |
| 385 | if(mBreakOnNextStatement) |
| 386 | { |
| 387 | setBreakOnNextStatement( false ); |
| 388 | breakProcess(); |
| 389 | return; |
| 390 | } |
| 391 | |
| 392 | Breakpoint **bp = findBreakpoint(code->name, lineNumber); |
| 393 | if(!bp) |
| 394 | return; |
| 395 | |
| 396 | Breakpoint *brk = *bp; |
| 397 | mProgramPaused = true; |
| 398 | Con::evaluatef("$Debug::result = %s;", brk->testExpression); |
| 399 | if(Con::getBoolVariable("$Debug::result")) |
| 400 | { |
| 401 | brk->curCount++; |
| 402 | if(brk->curCount >= brk->passCount) |
| 403 | { |
| 404 | brk->curCount = 0; |
| 405 | if(brk->clearOnHit) |
| 406 | removeBreakpoint(code->name, lineNumber); |
| 407 | breakProcess(); |
| 408 | } |
| 409 | } |
| 410 | mProgramPaused = false; |
| 411 | } |
| 412 | |
| 413 | void TelnetDebugger::pushStackFrame() |
| 414 | { |
no test coverage detected