mirror of
https://github.com/intel/llvm.git
synced 2026-01-16 05:32:28 +08:00
Cleaned up the SWIG stuff so all includes happen as they should, no pulling
tricks to get types to resolve. I did this by correctly including the correct files: stdint.h and all lldb-*.h files first before including the API files. This allowed me to remove all of the hacks that were in the lldb.swig file and it also allows all of the #defines in lldb-defines.h and enumerations in lldb-enumerations.h to appear in the lldb.py module. This will make the python script code a lot more readable. Cleaned up the "process launch" command to not execute a "process continue" command, it now just does what it should have with the internal API calls instead of executing another command line command. Made the lldb_private::Process set the state to launching and attaching if WillLaunch/WillAttach return no error respectively. llvm-svn: 115902
This commit is contained in:
@@ -133,13 +133,9 @@ public:
|
||||
}
|
||||
|
||||
bool
|
||||
Execute (Args& launch_args,
|
||||
CommandReturnObject &result)
|
||||
Execute (Args& launch_args, CommandReturnObject &result)
|
||||
{
|
||||
Target *target = m_interpreter.GetDebugger().GetSelectedTarget().get();
|
||||
bool synchronous_execution = m_interpreter.GetSynchronous ();
|
||||
// bool launched = false;
|
||||
// bool stopped_after_launch = false;
|
||||
|
||||
if (target == NULL)
|
||||
{
|
||||
@@ -235,22 +231,29 @@ public:
|
||||
if (error.Success())
|
||||
{
|
||||
result.AppendMessageWithFormat ("Launching '%s' (%s)\n", filename, archname);
|
||||
result.SetStatus (eReturnStatusSuccessContinuingNoResult);
|
||||
result.SetDidChangeProcessState (true);
|
||||
if (m_options.stop_at_entry == false)
|
||||
{
|
||||
result.SetStatus (eReturnStatusSuccessContinuingNoResult);
|
||||
StateType state = process->WaitForProcessToStop (NULL);
|
||||
|
||||
if (state == eStateStopped)
|
||||
{
|
||||
// Call continue_command.
|
||||
CommandReturnObject continue_result;
|
||||
m_interpreter.HandleCommand("process continue", false, continue_result);
|
||||
}
|
||||
|
||||
if (synchronous_execution)
|
||||
{
|
||||
result.SetDidChangeProcessState (true);
|
||||
result.SetStatus (eReturnStatusSuccessFinishNoResult);
|
||||
error = process->Resume();
|
||||
if (error.Success())
|
||||
{
|
||||
bool synchronous_execution = m_interpreter.GetSynchronous ();
|
||||
if (synchronous_execution)
|
||||
{
|
||||
state = process->WaitForProcessToStop (NULL);
|
||||
result.SetDidChangeProcessState (true);
|
||||
result.SetStatus (eReturnStatusSuccessFinishResult);
|
||||
}
|
||||
else
|
||||
{
|
||||
result.SetStatus (eReturnStatusSuccessContinuingNoResult);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user