UI21DEB deBUGGER released | inreentrant mess (Announce)
> > > Because your hook is inreentrant
> >
> > This would be a criminal BUG because it was supposed to be reentry-safe
> >
>
> Please calm down! "Will your TSR allow the debugger to single step into
> Int 21 without causing a mess?" was kind of a trick question. Correct
> answer is "No", but it's half of the truth only, the fully correct answer
> is "No, and I don't care at all, because it's your crappy debugger which
> is faulty"
I rather expected this because of the question, but don't approve your intention. Well, yes, I probably won't ever use some program by DOS386, but I still prefer acceptable useless programs over crappy ones
> 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.
> You can make your code more tolerant by implementing Christian's
> stack frame solution, but it's probably not worth the effort.
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.
---
l
Complete thread:
- UI21DEB deBUGGER rele | DGJPP's persistent ENOENT bugginess - DOS386, 20.02.2009, 05:53 (Announce)
- UI21DEB deBUGGER rele | DGJPP's persistent ENOENT bugginess - DOS386, 20.02.2009, 06:19
- UI21DEB deBUGGER rele | DGJPP's persistent ENOENT bugginess - ecm, 20.02.2009, 20:19
- UI21DEB deBUGGER rele | DGJPP's persistent ENOENT bugginess - DOS386, 24.02.2009, 06:02
- UI21DEB deBUGGER rele | DGJPP's persistent ENOENT bugginess - Laaca, 24.02.2009, 10:28
- UI21DEB deBUGGER rele | DGJPP's persistent ENOENT bugginess - rr, 24.02.2009, 21:43
- UI21DEB deBUGGER rele | DGJPP's persistent ENOENT bugginess - DOS386, 25.02.2009, 03:06
- UI21DEB deBUGGER rele | DGJPP's persistent ENOENT bugginess - ecm, 25.02.2009, 13:15
- UI21DEB deBUGGER rele | DGJPP's persistent ENOENT bugginess - DOS386, 25.02.2009, 03:06
- UI21DEB deBUGGER rele | DGJPP's persistent ENOENT bugginess - Japheth, 25.02.2009, 14:09
- UI21DEB deBUGGER released | the mess - DOS386, 01.03.2009, 08:24
- UI21DEB deBUGGER released | the mess - ecm, 01.03.2009, 10:40
- UI21DEB deBUGGER released | inreentrant mess - DOS386, 01.03.2009, 13:59
- UI21DEB deBUGGER released | inreentrant mess - ecm, 01.03.2009, 16:19
- UI21DEB deBUGGER released | inreentrant mess - Japheth, 02.03.2009, 07:48
- UI21DEB deBUGGER released | inreentrant mess - ecm, 02.03.2009, 15:28
- UI21DEB deBUGGER released | inreentrant mess - Japheth, 03.03.2009, 07:52
- UI21DEB deBUGGER released | crappy and incrappy stuff - DOS386, 15.03.2009, 02:39
- UI21DEB deBUGGER released | crappy and incrappy stuff - Japheth, 15.03.2009, 08:17
- UI21DEB deBUGGER released | crappy and incrappy stuff - ecm, 15.03.2009, 21:02
- UI21DEB deBUGGER released | inreentrant mess - ecm, 02.03.2009, 15:28
- UI21DEB deBUGGER released | inreentrant mess - DOS386, 01.03.2009, 13:59
- UI21DEB deBUGGER released | the mess - ecm, 01.03.2009, 10:40
- UI21DEB deBUGGER released | the mess - DOS386, 01.03.2009, 08:24
- UI21DEB deBUGGER rele | DGJPP's persistent ENOENT bugginess - DOS386, 24.02.2009, 06:02
- UI21DEB deBUGGER rele | DGJPP's persistent ENOENT bugginess - Laaca, 20.02.2009, 20:21
- UI21DEB deBUGGER rele | DGJPP's persistent ENOENT bugginess - ecm, 20.02.2009, 20:19
- UI21DEB deBUGGER rele | DGJPP's persistent ENOENT bugginess - DOS386, 20.02.2009, 06:19