The Owl
December 28th, 2000, 09:39
Quote:
I'm afraid as of now you can't debug while online without being disconnected. Maybe if a patch were to be built that were to disrupt SICE every few seconds to handle all the packets coming in, there could be a possibility. Its worth a try...maybe someone can make it and Owl can incorporate it into Icedump? |
this issue was raised already by other people as well, and every time i thought about it, i just couldn't figure out if it was worth the hassle/effort in the end or not (not talking about the experience one would gain by getting it to work, but the whole purpose of this).
as i see it, to prevent modem disconnections, network timeouts, etc, one would have to do this:
1. initialize/handle timer in softice
2. after some interval resume OS (exit softice)
3. after some interval enter softice (at the same 'context' where we left it)
4. go to 2.
this scheme would allow then the OS to process pending IRQs, process packets, etc. this sounds nice and simple enough so far, but when you get to implement it, you'll face a few questions.
1. softice by default does not handle the timer IRQ, ie. it doesn't hook its handler let alone enable/process it (this is not that hard to solve though).
2. how much should 'some interval' be? obviously resuming the OS too often would ruin the user experience, doing it too late would defeat the purpose of the whole project.
3. same question, how much time to wait before returning to softice? when can one be sure that all the relevant packets have been processed, winsock (tcp/ip stack) updated all the internal connection states, etc? and of course waiting here too much (your brain would observe anything over say 20 msec i think which is not much time) will ruin the user experience as well.
to summarize, i see no real benefit in implementing this, people would be better off by not using a kernel debugger for application debugging, or at least not while online ;-).