Switch over to using Debugger as the primary system debugger.

- When a crash occurs that requires using consoled, use Debugger
  in CLI mode.

- Closes #1078.
This commit is contained in:
Rene Gollent
2012-12-18 23:55:49 -05:00
parent 3e441f885e
commit bbdb605224
3 changed files with 44 additions and 32 deletions
+3 -3
View File
@@ -44,8 +44,8 @@ SYSTEM_BIN = [ FFilterByBuildFeatures
SYSTEM_APPS = [ FFilterByBuildFeatures
AboutSystem ActivityMonitor BootManager@x86 CharacterMap
CodyCam DeskCalc Devices DiskProbe DiskUsage DriveSetup CDPlayer Expander
GLInfo@x86 Icon-O-Matic Installer LaunchBox Magnify Mail
CodyCam DeskCalc Devices DiskProbe DiskUsage DriveSetup CDPlayer Debugger
Expander GLInfo@x86 Icon-O-Matic Installer LaunchBox Magnify Mail
MediaConverter MediaPlayer MidiPlayer NetworkStatus PackageInstaller People
PoorMan PowerStatus ProcessController Screenshot ShowImage SoundRecorder
StyledEdit Terminal TextSearch TV WebWatch Workspaces
@@ -75,7 +75,7 @@ SYSTEM_LIBS = [ FFilterByBuildFeatures
PRIVATE_SYSTEM_LIBS = [ FFilterByBuildFeatures
$(HAIKU_JPEG_CURRENT_LIB)
$(HAIKU_LIBPNG_CURRENT_LIB)
$(HAIKU_ZLIB_CURRENT_LIB)
$(HAIKU_ZLIB_CURRENT_LIB)
$(HAIKU_FREETYPE_CURRENT_LIB)
libalm.so
libfluidsynth.so
-1
View File
@@ -643,7 +643,6 @@ if [ IsOptionalHaikuImagePackageAdded DemoPackage_Video ] {
# Development
if [ IsOptionalHaikuImagePackageAdded Development ] {
if $(TARGET_ARCH) = x86 {
AddFilesToHaikuImage system apps : Debugger ;
AddSymlinkToHaikuImage home config settings deskbar Applications
: /boot/system/apps/Debugger : Debugger ;
# autotools
+41 -28
View File
@@ -41,8 +41,8 @@ enum {
};
#define HANDOVER_USE_GDB 1
//#define HANDOVER_USE_DEBUGGER 1
//#define HANDOVER_USE_GDB 1
#define HANDOVER_USE_DEBUGGER 1
#undef B_TRANSLATION_CONTEXT
#define B_TRANSLATION_CONTEXT "DebugServer"
@@ -555,44 +555,57 @@ TeamDebugHandler::_EnterDebugger(bool saveReport)
"terminal (debugger) for team %" B_PRId32 "...\n", fTeam));
#elif defined(HANDOVER_USE_DEBUGGER)
// prepare the argument vector
BPath debuggerPath;
if (debugInConsoled) {
error = _SetupGDBArguments(arguments, debugInConsoled);
error = find_directory(B_SYSTEM_BIN_DIRECTORY, &debuggerPath);
if (error != B_OK) {
debug_printf("debug_server: Failed to set up gdb arguments: %s\n",
debug_printf("debug_server: can't find system-bin directory: %s\n",
strerror(error));
return error;
}
} else {
// prepare the argument vector
BPath debuggerPath;
error = find_directory(B_SYSTEM_APPS_DIRECTORY, &debuggerPath);
error = debuggerPath.Append("consoled");
if (error != B_OK) {
debug_printf("debug_server: can't find system-apps directory: %s\n",
strerror(error));
return error;
}
error = debuggerPath.Append("Debugger");
if (error != B_OK) {
debug_printf("debug_server: can't append to system-apps path: %s\n",
debug_printf("debug_server: can't append to system-bin path: %s\n",
strerror(error));
return error;
}
if (!arguments.Add(debuggerPath.Path()))
return B_NO_MEMORY;
BString debuggerParam;
debuggerParam.SetToFormat("%" B_PRId32, fTeam);
if (saveReport) {
if (!arguments.Add("--save-report"))
return B_NO_MEMORY;
}
if (!arguments.Add("--team") || !arguments.Add(debuggerParam))
return B_NO_MEMORY;
// start the debugger
TRACE(("debug_server: TeamDebugHandler::_EnterDebugger(): starting "
"graphical debugger for team %" B_PRId32 "...\n", fTeam));
}
error = find_directory(B_SYSTEM_APPS_DIRECTORY, &debuggerPath);
if (error != B_OK) {
debug_printf("debug_server: can't find system-apps directory: %s\n",
strerror(error));
return error;
}
error = debuggerPath.Append("Debugger");
if (error != B_OK) {
debug_printf("debug_server: can't append to system-apps path: %s\n",
strerror(error));
return error;
}
if (!arguments.Add(debuggerPath.Path()))
return B_NO_MEMORY;
if (debugInConsoled && !arguments.Add("--cli"))
return B_NO_MEMORY;
BString debuggerParam;
debuggerParam.SetToFormat("%" B_PRId32, fTeam);
if (saveReport) {
if (!arguments.Add("--save-report"))
return B_NO_MEMORY;
}
if (!arguments.Add("--team") || !arguments.Add(debuggerParam))
return B_NO_MEMORY;
// start the debugger
TRACE(("debug_server: TeamDebugHandler::_EnterDebugger(): starting "
"%s debugger for team %" B_PRId32 "...\n",
debugInConsoled ? "command line" : "graphical", fTeam));
#endif
for (int32 i = 0; i < arguments.CountStrings(); i++)