#2919 closed bug (fixed)
on screen debug: entering + leaving the KDL prevents dividing log messages into pages
Reported by: | Adek336 | Owned by: | axeld |
---|---|---|---|
Priority: | normal | Milestone: | R1 |
Component: | System/Kernel | Version: | R1/pre-alpha1 |
Keywords: | Cc: | ||
Blocked By: | Blocking: | ||
Platform: | All |
Description
When I select on screen debug at boot time I can take my time to read each batch of log messages and when I want to move on I have to press a key. However if I press F12 for KDL (or enter because of an error) and leave the KDL, then the text is no longer white on black but black on white but more importantly, it doesn't stop after each page of messages.
Change History (6)
comment:1 by , 16 years ago
comment:2 by , 16 years ago
proposed patch and typo fix.
Index: src/system/kernel/debug/debug.cpp =================================================================== --- src/system/kernel/debug/debug.cpp (revision 28658) +++ src/system/kernel/debug/debug.cpp (working copy) @@ -781,6 +781,7 @@ sDebugOutputFilter = NULL; sBlueScreenEnabled = false; + blue_screen_enter(sDebugScreenEnabled); atomic_add(&sInDebugger, -1); } @@ -1078,7 +1079,7 @@ add_debugger_command_etc("syslog", &cmd_dump_syslog, "Dumps the syslog buffer.\n", "[-n]\nDumps the whole syslog buffer, or, if -n is specified, only " - "the part that hasn't been send yet.\n", 0); + "the part that hasn't been sent yet.\n", 0); return B_OK;
comment:4 by , 16 years ago
Ah, thanks, I'm glad to hear that :-) Although then, I would probably be too nervous that I could commit something broken, that I wouldn't be able to code very much :-p
comment:5 by , 16 years ago
Component: | - General → System/Kernel |
---|---|
Resolution: | → fixed |
Status: | new → closed |
Changed patch applied in hrev28841. Thanks Adrian! I've changed your patch a bit to only call blue_screen_enter() when sDebugOutputScreen is true - this both saves superfluous work in the usual case, and makes the code clearer (ie. why *enter* is called on exit).
src/system/kernel/debug/debug.cpp:
Upon entering the kernel debugger through enter_kernel_debugger(), blue_screen_enter() trashes the values of sScreen.attr and sScreen.boot_debug_output, which are not restored in exit_kernel_debugger().