Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to the forum
Board view  Mix view

UI21DEB deBUGGER released | inreentrant mess (Announce)

posted by Japheth Homepage, Germany (South), 03.03.2009, 07:52

> > The reason is simple: your code clears IF, which is a hint for any
> > debugger that a critical section is entered which isn't allowed to be
> > interrupted. The problem is that all DEBUGs ignore this signal - they
> > aren't designed to debug "low-level" code.
>
> IF is often meaningless if any form of multitasking is running.

If a DOS application does a CLI, it can safely assume that no hw interrupts will occur. It doesn't need to care about possible flaws in v86-monitors.

> The problem here is that even "normal" TSRs (not DEBUG) might want to use
> DOS functions reentrant in MS-DOS. Even the Int24 handler of COMMAND.COM
> might crash UI21DEB, because it (is allowed to and) calls some low
> functions (01h-0Ch) during another Int21 call.

I didn't scrutinize the TSRs code, but if all usages of global variables are protected by CLI, then it probably IS reentrant - the "single-step" exception doesn't really count.

---
MS-DOS forever!

 

Complete thread:

Back to the forum
Board view  Mix view
22632 Postings in 2109 Threads, 402 registered users, 352 users online (0 registered, 352 guests)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum