Cosmos/Docs/Debugger/Int3.html
2012-01-08 18:23:41 +00:00

28 lines
1.1 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
</head>
<body>
<p>
int3 is used to call the DebugStub. Currently all C# lines emit an int3 and
DebugStub checks it against a list of current breakpoints.</p>
<h3>
Future Improvement</h3>
<p>
Int3 on every C# line does create likely a fair performance penalty.</p>
<p>
In the future the
int3 ops should have noop placeholders which are dynamically replaced by int3
ops on demand. Also in future dont need noop placeholders - could replace first
byte of op and restore it...</p>
<p>
However Int3 is also used to monitor the serial port for commands. So if we make
it a dynamic call, we still need to insert some special int3 or other calls to
check for serial commands at some reguilar interval. We cannout use hardware
interrupts. Maybe emit Int3 calls at every method or loop start?</p>
</body>
</html>