本文整理汇总了C++中LLDBCommand::GetSettings方法的典型用法代码示例。如果您正苦于以下问题:C++ LLDBCommand::GetSettings方法的具体用法?C++ LLDBCommand::GetSettings怎么用?C++ LLDBCommand::GetSettings使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类LLDBCommand
的用法示例。
在下文中一共展示了LLDBCommand::GetSettings方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: InitializeLLDB
bool CodeLiteLLDBApp::InitializeLLDB(const LLDBCommand& command)
{
if(IsDebugSessionInProgress()) {
wxPrintf("codelite-lldb: another session is already in progress\n");
return false;
}
if(!command.GetWorkingDirectory().IsEmpty()) {
::wxSetWorkingDirectory(command.GetWorkingDirectory());
}
wxPrintf("codelite-lldb: working directory is set to %s\n", ::wxGetCwd());
#ifdef __WXMAC__
// On OSX, debugserver executable must exists otherwise lldb will not work properly
// we ensure that it exists by checking the environment variable LLDB_DEBUGSERVER_PATH
wxString lldbDebugServer;
if(!::wxGetEnv("LLDB_DEBUGSERVER_PATH", &lldbDebugServer) || !wxFileName::Exists(lldbDebugServer)) {
wxPrintf("codelite-lldb: LLDB_DEBUGSERVER_PATH environment does not exist or contains a path to a non existent "
"file\n");
NotifyExited();
return false;
}
#endif
m_debuggeePid = wxNOT_FOUND;
wxPrintf("codelite-lldb: creating target for file '%s'\n", command.GetExecutable());
m_debugger = lldb::SBDebugger::Create();
lldb::SBError lldbError;
m_target = m_debugger.CreateTarget(command.GetExecutable().mb_str().data(), NULL, NULL, true, lldbError);
if(!m_target.IsValid()) {
wxPrintf("codelite-lldb: could not create target for file %s. %s\n",
command.GetExecutable(),
lldbError.GetCString());
NotifyExited();
return false;
}
// Print the content of the summaries (for debugging purposes)
wxPrintf("codelite-lldb: created target for %s\n", command.GetExecutable());
m_debugger.SetAsync(true);
// Keep the settings
m_settings = command.GetSettings();
// First, source the .lldbinit file
wxString source_command;
source_command << "command source '" << ::wxGetHomeDir() << "/.lldbinit"
<< "'";
DoExecutueShellCommand(source_command);
// Apply the types
lldb::SBCommandReturnObject ret;
wxArrayString commands = ::wxStringTokenize(m_settings.GetTypes(), "\n", wxTOKEN_STRTOK);
for(size_t i = 0; i < commands.GetCount(); ++i) {
DoExecutueShellCommand(commands.Item(i));
}
// DoExecutueShellCommand("type summary list");
return true;
}