diff options
Diffstat (limited to 'lldb/tools/debugserver/source/ChangeLog')
| -rw-r--r-- | lldb/tools/debugserver/source/ChangeLog | 1515 |
1 files changed, 0 insertions, 1515 deletions
diff --git a/lldb/tools/debugserver/source/ChangeLog b/lldb/tools/debugserver/source/ChangeLog deleted file mode 100644 index 2f3843bbc60f..000000000000 --- a/lldb/tools/debugserver/source/ChangeLog +++ /dev/null @@ -1,1515 +0,0 @@ -2010-01-29 Greg Clayton <gclayton@apple.com> - - * MachProcess.cpp (MachProcess::PrepareForAttach): No longer use the - SBSLaunchApplication macro from the SpringBoard.framework, use the actual - function name SBSLaunchApplicationForDebugging. - (MachProcess::CleanupAfterAttach): Ditto. - (MachProcess::SBForkChildForPTraceDebugging): Ditto. - (debugserver-entitlements.plist): Added the "seatbelt-profiles" entitlement - so debugserver can be sandboxed. - -2009-07-06 Greg Clayton <gclayton@apple.com> - - * MachTask.cpp (MachTask::GetDYLDAllImageInfosAddress): Hack around bad - kernel code that renamed the first member of the TASK_DYLD_INFO without - any way to detect it has changed. - -2009-06-29 Greg Clayton <gclayton@apple.com> - - * DNB.cpp (GetAllInfosMatchingName): Correctly truncate process name string - to MAXCOMLEN when searching kinfo_proc structs for process matches by name. - * MachProcess.cpp (MachProcess::PrepareForAttach): Added logging when - attaching to a program by name. - -2009-06-25 Greg Clayton <gclayton@apple.com> - - * DNB.cpp (DNBProcessLaunch): Added a stat on the incoming path that we are - about to launch to make sure the file exists. If the file doesn't, then an - appropriate error string is returned. Also if we fail to get the task for - our process ID, we return an error string right away instead of letting the - debug session go for a little bit and then later failing after a few more - packets. - -2009-04-07 Jim Ingham <jingham@apple.com> - - * RNBRemote.h: Add vAttachWait - * RNBRemote.cpp (RNBRemote::CreatePacketTable): Add vattachwait. - (RNBRemoteShouldCancelCallback): New function. - (RNBRemote::HandlePacket_v): Handle vattachwait. - * RNBSocket.cpp (RNBSocket::Read): Mark the connection as closed when the - port goes away. - * DNB.cpp (DNBProcessAttachByName): New function. - (DNBProcessAttach): Make this handle catching the attach when done and - dealing with timeout & return conditions. - (GetAllInfos): New function. - (GetAlInfosMatchingName): New function. - (DNBProcessAttachWait): New function. - DNB.h: Declare DNBProcessAttachByName, DNBProcessAttachWait, change - signature of DNBProcessAttach. - * MachProcess.cpp (MachProcess::PrepareForAttach): New function. - (MachProcess::CheckForProcess): New function. - (MachProcess::CleanupAfterAttach): New function. - (CopyBundleIDForPath): New function. - (MachProcess::SBForkChildForPTraceDebugging): Convert to using - CopyBundleIDForPath. - * MachProcess.h: Declare PrepareForAttach, CleanupAfterAttach and - CheckForProcess. - * DNBTimer.h (TimeOfDayLaterThan): New function. - * test-remotenub.cpp (RNBRunLoopGetStartModeFromRemote): Rename from - RNBRunLoopGetArgsFromRemote, and handle vattachwait. - (RNBRunLoopLaunchAttaching): Code was moved from here into DNBProcessAttach. - (StartListening): New function. - (GetAllProcessInfos, GetAllProcessInfosMatchingName): Moved to - DNBProcess.cpp. - (main): Handle attach waitfor, and make debugserver with only a host and - port wait on commands from gdb. - -2009-04-03 Greg Clayton <gclayton@apple.com> - - * RNBRemote.h (PacketEnum): Added enum for qShlibInfoAddr. - * RNBRemote.cpp (RNBRemote::CreatePacketTable) Added the qShlibInfoAddr - packet definition to m_packets. - (RNBRemote::GetPacket): Log when we run into an unimplemented packet. - (RNBRemote::HandleReceivedPacket): Only log the packet when logging - LOG_RNB_REMOTE. - (RNBRemote::HandlePacket_q): Add support for the new qShlibInfoAddr packet. - * DNB.h (DNBProcessGetSharedLibraryInfoAddress): New prototype. - * DNB.cpp (DNBProcessGetSharedLibraryInfoAddress): New function. - * MachTask.h (MachProcess::GetDYLDAllImageInfosAddress): New prototype. - * MachTask.cpp (MachProcess::GetDYLDAllImageInfosAddress): New function. - -2009-04-01 Greg Clayton <gclayton@apple.com> - - * test-remotenub.cpp (main): Display the detailed error message if any when - attaching fails. - -2009-03-25 Greg Clayton <gclayton@apple.com> - - * test-remotenub.cpp (RNBRunLoopGetArgsFromRemote): Cleaned up logging and - removed time deltas form the messages. - (RNBRunLoopLaunchAttaching): Ditto. - (RNBRunLoopLaunchInferior): Ditto and also use new DNBProcessLaunch that - takes an error string pointer. - * RNBContext.h (class RNBContext): Removed the m_timer member. - * RNBContext.cpp (RNBContext::StartProcessStatusThread): Cleaned up logging - and removed time deltas form the messages. - (RNBContext::ThreadFunctionProcessStatus): Ditto. - * RNBSocket.h (class RNBSocket): Removed unused m_last_errno member and - accessor functions. - * RNBSocket.cpp (RNBSocket::Listen): Cleaned up logging and - removed time deltas form the messages. - (RNBSocket::ConnectToService): Ditto. - (RNBSocket::Read): Ditto. - (RNBSocket::Write): Ditto. - (RNBSocket::SaveErrno): Removed. - (RNBSocket::ClosePort): Don't call RNBSocket::SaveErrno(). - * RNBRemote.cpp (RNBRemote::RNBRemote): Cleaned up logging and - removed time deltas form the messages. - (RNBRemote::~RNBRemote): Ditto. - (RNBRemote::SendPacket): Ditto. - (RNBRemote::GetPacketPayload): Ditto. - (RNBRemote::GetPacket): Ditto): Ditto. - (RNBRemote::HandleAsyncPacket): Ditto. - (RNBRemote::HandleReceivedPacket): Ditto. - (RNBRemote::CommDataReceived): Ditto. - * DNB.cpp (DNBProcessLaunch): Changed to take a eror string pointer with - size for more desciptive error reporting (instead of a uint32_t pointer). - * DNB.h (DNBProcessLaunch): Ditto. - * DNBError.cpp (DNBError::AsString): Now returns NULL if there is no error. - * DNBError.h (DNBError::SetErrorString): New accessor to allow custom error - strings. - * arm/DNBArchImpl.cpp (DNBArchMachARM::GetGPRState): Improved logging. - * MachProcess.cpp (MachProcess::SBForkChildForPTraceDebugging): Improved - error messages when a file doesn't exist, or when unable to extract the - CFBundleIdentifier. - * PThreadEvent.cpp (class PThreadEvent): Commented out all logging calls. - -2009-03-07 Greg Clayton <gclayton@apple.com> - - * test-remotenub.cpp (GetAllProcessInfosMatchingName): New function that - returns matching kinfo_proc structs given a process name. - (main): Enhanced the --attach option to be able to take a PROCNAME or - a PID. Changed the --waitfor=PROCNAME option to ignore any existing - processes with PROCNAME so we only catch new process invocations. - -2009-03-07 Greg Clayton <gclayton@apple.com> - - * RNBRemote.cpp (RNBRemote::HandlePacket_p): Use the correct get current - thread function call so we get the correct thread registers. - -2009-03-03 Greg Clayton <gclayton@apple.com> - - * test-remotenub.cpp (g_isatty): New global that gets set to non-zero if - STDOUT is a TTY in the beginning of main. - (RNBLogSTDOUT): New macro that logs to STDOUT if g_isatty is non-zero, else - it logs to asl. - (RNBLogSTDERR): New macro that logs to STDERR if g_isatty is non-zero, else - it logs to asl. - (RNBRunLoopGetArgsFromRemote): Use new RNBLogSTDOUT/RNBLogSTDERR macros. - (GetAllProcessInfos): Get all process info structs for everything on the - system. - (main): Implemented new --waitfor=NAME option to allow waiting for a process - to run by polling the system processes. The new --waitfor-interval=N option - allows fine control over the polling interval where N is the number of mirco - seconds (usec) to wait between polls (defaults to 1000). The new - --waitfor-duration=N allows a timeout in seconds to be specified when - waiting for a process (defaults to infinite). - -2009-03-02 Greg Clayton <gclayton@apple.com> - - * DNBArchImpl.cpp (DNBArchMachARM::EvaluateNextInstructionForSoftwareBreakpointSetup): - Take care of a case where no instructions execute in a Thumb IT block and - the last of which is a branch. - -2009-02-10 Greg Clayton <gclayton@apple.com> - - * RNBRemote.h (PacketEnum): Added 'detach' enumeration. - (RNBRemote::HandlePacket_D): New member function prototype. - * RNBRemote.cpp (RNBRemote::CreatePacketTable): Added detach support. - (RNBRemote::HandlePacket_D): New function for detach support. - -2009-02-10 Greg Clayton <gclayton@apple.com> - - * RNBRemote.cpp (RNBRemote::HandlePacket_UNIMPLEMENTED): Log this - packet with the packet that is unimplemented. - (RNBRemote::GetPacket): Call RNBRemote::HandlePacket_UNIMPLEMENTED() - when we don't recognize a packet. - (RNBRemote::HandleReceivedPacket): Don't reply to packets we don't - recognize with unimplemented in this fucntion as that should have - already been done for us in RNBRemote::GetPacket(). - -2009-02-10 Greg Clayton <gclayton@apple.com> - - * RNBRemote.h (PacketEnum): Added query_step_packet_supported. - * RNBRemot.cpp (RNBRemote::CreatePacketTable): Added new - qStepPacketSupported packet. - (RNBRemote::HandlePacket_q): Added support for the new - "qStepPacketSupported" packet. - (RNBRemote::HandlePacket_G): Some cleanup when reading registers - to avoid spurious console logging. - -2009-01-30 Greg Clayton <gclayton@apple.com> - - * debugserver-entitlements.plist: Changed the entitlement - "run-invalid-allow" to "run-unsigned-code". - -2009-01-23 Greg Clayton <gclayton@apple.com> - - * DNBArchImpl.cpp (DNBArchMachARM::EvaluateNextInstructionForSoftwareBreakpointSetup): - Merged Yusuf's changes to make software single stepping work. - * test-remotenub.cpp (RNBRunLoopLaunchInferior): Call new - DNBResolveExecutablePath function to resolve executable paths. - * DNB.h (DNBResolveExecutablePath): New function prototype. - * DNB.cpp (DNBResolveExecutablePath): New function that will resolve - relative paths and also executable paths for executables that aren't relative - but yet are in the shell PATH environment variable. - -2009-01-22 Greg Clayton <gclayton@apple.com> - - * DNBArchImpl.h (class DBNArchMachARM): Renamed member variable - m_chained_hw_single_step_addr to m_hw_single_chained_step_addr. Added - new member variables: m_sw_single_step_itblock_break_id, m_last_decode_pc, - and m_sw_single_step_itblock_break_count. Renamed m_thumbStaticData to - m_last_decode_thumb, and renamed m_decodedInstruction to m_last_decode_arm. - (DBNArchMachARM::DecodeITBlockInstructions): New prototype. - (DBNArchMachARM::DecodeInstructionUsingDisassembler): New prototype. - (DBNArchMachARM::BreakpointHit): New prototype. - * DNBArchImpl.cpp (DNBArchMachARM::ThreadDidStop): Disable any of the - many software single step breakpoints if any are set. - (DNBArchMachARM::StepNotComplete): Changed renamed member accesses. - (DNBArchMachARM::DecodeITBlockInstructions): New function for software - single stepping through Thumb IT blocks. - (DNBArchMachARM::EnableHardwareSingleStep): Cleaned up logging. - (DNBArchMachARM::ComputeNextPC): Ditto. - (DNBArchMachARM::EvaluateNextInstructionForSoftwareBreakpointSetup): Now - properly handles Thumb IT software single stepping. - (DNBArchMachARM::SetSingleStepSoftwareBreakpoints): Ditto. - (DNBArchMachARM::DecodeInstructionUsingDisassembler): New function. - (DNBArchMachARM::BreakpointHit): New breakpoint callback function. - -2009-01-21 Greg Clayton <gclayton@apple.com> - - * MachProcess.cpp (MachProcess::PrivateResume): Set the process state before - we actually resume so we are sure to get the events in the correct order. - -2009-01-16 Greg Clayton <gclayton@apple.com> - - * RNBRemote.cpp (RNBRemote::HandlePacket_last_signal): Include only - registers which are to be expedited in the T packets. - (RNBRemote::HandlePacket_p): Enable for all targets. - (struct register_map_entry): Added an expedite member so we know which - registers need to be sent up to the host with each stop reply packet. - (register_map): Updated each array members' expedite member with an - appropriate value. - -2009-01-16 Greg Clayton <gclayton@apple.com> - - * RNBRemote.cpp (RNBRemote::HandlePacket_s): Enabled the step command ("s" - packet) for ARM now that libdebugnub.dylib can do both hardware and software - single stepping. - -2009-01-13 Greg Clayton <gclayton@apple.com> - - *DNBArchImpl.cpp (bit): New function. - (bits): New function. - (DNBArchMachARM::ConditionPassed): Use new "bit" function. - (DNBArchMachARM::ComputeNextPC): Use new "bit" function, remove inline - assembly for "RSC" instruction so this compiles for armv7 (which defaults - to thumb) - (DNBArchMachARM::NumSupportedHardwareBreakpoints): Use new "bits" function. - (DNBArchMachARM::NumSupportedHardwareWatchpoints): Use new "bits" function. - -2009-01-12 Greg Clayton <gclayton@apple.com> - - * DNBArch.h (DNBArchProtocol::NumSupportedHardwareBreakpoints()): Removed - the "const" qualifier to allow arches to auto detect how many hardware - breakpoints they have. - (DNBArchProtocol::NumSupportedHardwareWatchpoints()): Removed the "const" - qualifier to allow arches to auto detect how many hardware watchpoints they - have. - * DNBArchImpl.h (DNBArchMachARM::NumSupportedHardwareBreakpoints()): Auto - detect how many BRP pairs are avialable and disable for armv7 for the time - being (rdar://problem/6372672). - (DNBArchMachARM::NumSupportedHardwareWatchpoints()): Auto detect how many - WRP pairs are avialable and disable for armv7 for the time being - (rdar://problem/6372672). - -2009-01-09 Greg Clayton <gclayton@apple.com> - - * test-remotenub.cpp (main): Filled in short argument versions for - --applist (-t) and --lockdown (-k) options. - * DNBArchImpl.h (DNBArchMachARM::ConditionPassed): New protected - member function. - (DNBArchMachARM::ComputeNextPC): New protected member function. - (DNBArchMachARM::EvaluateNextInstructionForSoftwareBreakpointSetup): New - protected member function. - (DNBArchMachARM::m_thumbStaticData): New protected member variable. - (DNBArchMachARM::m_decodedInstruction): New protected member variable. - * DNBArchImpl.cpp (DNBArchMachARM::ThreadDidStop): Added extra code that - will log and exit when we are verifying software single stepping (a - compile time option). - (DNBArchMachARM::ConditionPassed): New function. - (DNBArchMachARM::ComputeNextPC): New function. - (DNBArchMachARM::EvaluateNextInstructionForSoftwareBreakpointSetup): New - function. - (DNBArchMachARM::SetSingleStepSoftwareBreakpoints): Added the guts of the - software single stepping. - (DNBArchMachARM::NumSupportedHardwareBreakpoints): Prepared for adding - auto detection code. - (DNBArchMachARM::NumSupportedHardwareWatchpoints): Prepared for adding - auto detection code. - -2008-12-11 Greg Clayton <gclayton@apple.com> - - * DNB.h (DNBProcessWaitForEvent): Renamed to DNBProcessWaitForEvents. - (DNBProcessSetEvents): Removed (deprecated). - (DNBProcessGetWaitForResetMask): Removed (unused). - (DNBProcessSetWaitForResetMask): Removed (unused). - (DNBProcessInterruptEvents): New function prototype. - * DNB.cpp (DNBProcessWaitForEvent): Renamed to DNBProcessWaitForEvents. - (DNBProcessSetEvents): Removed (deprecated). - (DNBProcessGetWaitForResetMask): Removed (unused). - (DNBProcessSetWaitForResetMask): Removed (unused). - (DNBProcessInterruptEvents): New function that can be used to - asynchronously interrupt infinite wait for events calls. - RNBRemote.cpp (RNBRemote::HandlePacket_v): Call DNBProcessWaitForEvents. - RNBContext.cpp (RNBContext::ThreadFunctionProcessStatus): Ditto. - test-remotenub.cpp (RNBRunLoopLaunchInferior): Ditto. - (RNBRunLoopLaunchAttaching): Ditto. - -2008-12-11 Greg Clayton <gclayton@apple.com> - - * DNB.cpp (GetProcessMap): Use new PTHREAD_MUTEX_LOCKER macro to ease - debugging of deadlocks. - (DNBProcessLaunch): Improved logging. - (DNBProcessMemoryRead): Call MachProcess::ReadMemory so breakpoint - opcodes can be removed from memory. - (DNBProcessMemoryWrite): Call MachProcess::WriteMemory so that we work - around enabled software breakpoint traps. - * DNBLog.cpp (GetLogThreadedMutex): New function. - (_DNBLogThreaded): Use new PTHREAD_MUTEX_LOCKER macro to ease - debugging of deadlocks. - (_DNBLogThreadedIf): Ditto. - * DNBBreakpoint.h (DNBBreakpoint::IntersectsRange): New function. - * DNBBreakpoint.cpp (DNBBreakpointList::FindIDByAddress): Improved - logging. - * MacOSX/MachThread.cpp (MachThread::MachThread): Improved logging. - (MachThread::~MachThread): Ditto. - (MachThread::Suspend): Ditto. - (MachThread::Resume): Ditto. - (MachThread::RestoreSuspendCount): Ditto. - (MachThread::GetState): Use new PTHREAD_MUTEX_LOCKER macro to ease - debugging of deadlocks. - (MachThread::SetState): Ditto. - * MacOSX/MachVMMemory.cpp (MachVMMemory::Read): Improved logging. - (MachVMMemory::Write): Ditto. - (MachVMMemory::WriteRegion): Ditto. - * MacOSX/MachProcess.cpp (MachProcess::GetState): Use new - PTHREAD_MUTEX_LOCKER macro to ease debugging of deadlocks. - (MachProcess::SetState): Ditto. - (MachProcess::Clear): Ditto. - (MachProcess::PrivateResume): Ditto. - (MachProcess::ReplyToAllExceptions): Ditto. - (MachProcess::ExceptionMessageReceived): Ditto. - (MachProcess::AppendSTDOUT): Ditto. - (MachProcess::GetAvailableSTDOUT): Ditto. - (MachProcess::ThreadFunctionSTDIO): Renamed from to - MachProcess::STDIOThread. - (MachProcess::StartSTDIOThread): Improved logging. - (MachProcess::CreateBreakpoint): Ditto. - (MachProcess::CreateWatchpoint): Ditto. - (MachProcess::DisableAllBreakpoints): Ditto. - (MachProcess::DisableBreakpoint): Ditto. - (MachProcess::DisableWatchpoint): Ditto. - (MachProcess::EnableBreakpoint): Ditto. - (MachProcess::EnableWatchpoint): Ditto. - (MachProcess::LaunchForDebug): Ditto. - (MachProcess::PosixSpawnChildForPTraceDebugging): Ditto. - (MachProcess::Detach): Reset the running event bit after resuming prior - to issuing the SIGSTOP to avoid a pause. - (MachProcess::RemoveTrapsFromBuffer): New function that removes - breakpoint traps from a memory buffer. - (MachProcess::ReadMemory): Read memory from the task, then removes any - breakpoint traps prior to returning the buffer. - (MachProcess::WriteMemory): Write memory and any needed data to the - breakpoint saved opcodes for any software breakpoint traps that are - enabled. - * MacOSX/MachProcess.h (MachProcess::ThreadFunctionException): Removed. - (MachProcess::ThreadFunctionSTDIO): Renamed to MachProcess::STDIOThread(). - (MachProcess::RemoveTrapsFromBuffer): New function. - * MacOSX/MachVMRegion.cpp (MachVMRegion::SetProtections): Improved - logging. - (MachVMRegion::RestoreProtections): Ditto. - (MachVMRegion::GetRegionForAddress): Ditto. - * MacOSX/MachException.cpp (catch_mach_exception_raise_state): Improved - logging. - (catch_mach_exception_raise_state_identity): Ditto. - (catch_mach_exception_raise): Ditto. - (MachException::Message::Dump): Ditto. - (MachException::Data::GetStopInfo): Ditto. - (MachException::Message::Receive): Ditto. - (MachException::Message::Reply): Ditto. - (MachException::Data::Dump): Ditto. - (MachException::PortInfo::Save): Ditto. - (MachException::PortInfo::Restore): Ditto. - * MacOSX/MachTask.cpp (MachTask::Suspend): Improved logging. - (MachTask::Resume): Ditto. - (MachTask::ReadMemory): Ditto. - (MachTask::WriteMemory): Ditto. - (MachTask::TaskPortForProcessID): Ditto. - (MachTask::BasicInfo): Ditto. - (MachTask::StartExceptionThread): Ditto. - (MachTask::ShutDownExcecptionThread): Ditto and use pthread_cancel to - interrupt the exception thread. - (MachTask::ExceptionThread): Ditto and revert back to infinite timeout - as pthread_cancel will break us out of infinite mach_msg receive calls. - * MacOSX/MachThreadList.cpp (MachThreadList::UpdateThreadList): Improved - logging. - (MachThreadList::CurrentThread): Use new PTHREAD_MUTEX_LOCKER macro to - ease debugging of deadlocks. - * DNBTimer.h (DNBTimer::DNBTimer): Initialize the mutex with a recursive - pthread. - (DNBTimer::Reset): Use new PTHREAD_MUTEX_LOCKER macro to ease debugging - of deadlocks. - (DNBTimer::TotalMicroSeconds): Ditto. - (DNBTimer::GetTime): Ditto. - (DNBTimer::ElapsedMicroSeconds): Ditto. - (DNBTimer::GetTimeOfDay): New class function. - * DNBError.cpp (DNBError::LogThreaded): Improved logging. - * test-dbgnub.cpp - * PThreadMutex.h: Added the ability to debug deadlocks by defining - DEBUG_PTHREAD_MUTEX_DEADLOCKS. - * FunctionProfiler.cpp - * PThreadEvent.cpp (PThreadEvent::NewEventBit): Use new - PTHREAD_MUTEX_LOCKER macro to ease debugging of deadlocks. - (PThreadEvent::FreeEventBits): Ditto. - (PThreadEvent::GetEventBits): Ditto. - (PThreadEvent::ReplaceEventBits): Ditto. - (PThreadEvent::SetEvents): Ditto. - (PThreadEvent::ResetEvents): Ditto. - (PThreadEvent::WaitForSetEvents): Ditto. - (PThreadEvent::WaitForEventsToReset): Ditto. - -2008-12-05 Greg Clayton <gclayton@apple.com> - - * DNBDefs.h (LOG_TASK): New log bit. - * DNB.cpp (DNBProcessIsAlive): User newly abtracted MachTask class. - (DNBProcessMemoryRead): Ditto. - (DNBProcessMemoryWrite): Ditto. - * DNBArchImpl.cpp (DNBArchMachARM::EnableHardwareSingleStep): Ditto. - (DNBArchMachARM::SetSingleStepSoftwareBreakpoints) Ditto. - * MachException.cpp (MachException::Message::Receive): Cleaned up logging - so it doesn't always log timeout errors. - (MachException::Message::Reply): Use abstracted MachTask class for any - task related queries. - (MachException::PortInfo::Save): Cleaned up logging. - (MachException::PortInfo::Restore): Cleaned up logging and now return an - error instead of the number of restored port infos. - * MachProcess.cpp (class MachProcess): Abstracted out all of the task_t - related stuff (suspend, resuyme, exception ports, exception thread, and - more) into a new class MachTask. - (MachProcess::Task): Now returns a reference to a MachTask class. - (MachProcess::Clear): Uses new abstracted MachTask class. - (MachProcess::Detach): Ditto. - (MachProcess::PrivateResume): Ditto. - (MachProcess::DisableBreakpoint): Ditto. - (MachProcess::ExceptionMessageReceived): Ditto. - (MachProcess::ExceptionMessageBundleComplete): Ditto. - (MachProcess::AttachForDebug): Ditto. - (MachProcess::LaunchForDebug): Ditto. - (MachProcess::SBLaunchForDebug): Ditto. - (MachProcess::TaskIsValid): Removed (replaced by similar functionality - in the new MachTask class). - (MachProcess::ExceptionPort): Ditto. - (MachProcess::ExceptionPortIsValid): Ditto. - (MachProcess::StartExceptionThread): Ditto. - (MachProcess::Suspend): Ditto. - (MachProcess::TaskResume): Ditto. - (MachProcess::TaskBasicInfo): Ditto. - (MachProcess::TaskBasicInfo): Ditto. - (MachProcess::ReadMemory): Ditto. - (MachProcess::WriteMemory): Ditto. - (MachProcess::ThreadFunctionException): Ditto. - -2008-12-04 Greg Clayton <gclayton@apple.com> - - * DNB.h (DNBProcessSetEvents): New API function prototype. - * DNB.cpp (DNBProcessSetEvents): New API function. - (DNBProcessHalt): Send our process a SIGINT instead of suspending - the task. - * DNBDefs.h (NUB_STATE_IS_STOPPED): Removed up duplicate entry in macro. - (eEventPrcoessAsyncInterrupt): New prcoess event bit that allows async - interrupting of infinite DNBProcessWaitForEvent() function calls. - * MachException.cpp (MachException::Message::Receive): Improved logging. - (MachException::Message::Reply): Improved logging. - * MachProcess.h (MachProcess::TaskBasicInfo): New member and static - functions. - * MachProcess.cpp (MachProcess::TaskIsValid): Use new TaskBasicInfo() - member function. - (MachProcess::Resume): Removed the detach parameter from the PrivateResume() - function call. - (MachProcess::Kill): Added a absolute timeout pointer to allow callers to - wait for the signal to be received if the timeout is non-NULL. - (MachProcess::TaskBasicInfo): New member and static function. - (MachProcess::TaskResume): New function that resumes the task by making sure - the suspend count is correctly ref counted. - (MachProcess::Detach): When detaching from a process make sure it is - stopped (SIGSTOP) first, then we can successfully detach. The exception - thread now also properly exits. - (MachProcess::PrivateResume): Call new TaskResume function, and removed the - detach functionality. - (MachProcess::DisableBreakpoint): Only notify the thread list that a - breakpoint has changed if the breakpoint is going to be removed. - (MachProcess::ThreadFunctionException): Added a permanent 1 second timeout - for each call to mach_msg() so we can exit the thread in the event that - we detach from a process/task. - * test-debugnub (main): Modified to show an example of how to detach using - a signal_handler to asynchronously receive a SIGINT and properly interrupt - and detach from a running process. - -2008-11-26 Greg Clayton <gclayton@apple.com> - - * DNBDefs.h (LOG_STEP): New logging define. - * DNBError.cpp (DNBError::LogThreaded): If there is no error, then - log with "success: " as a prefix instead of "error: ". - * arm/DBNArchImpl.cpp (DNBArchMachARM::EnableHardwareSingleStep): Log using - new LOG_STEP instead of LOG_BREAKPOINTS. - (DNBArchMachARM::SetSingleStepSoftwareBreakpoints): Ditto. - * MachException.cpp (MachException::Message::Dump): Log excetion header - and reply header on two separate lines. - * MachProcess.cpp (IsSBProcess): Check for NULL CFArrayRef returned from - SBSCopyApplicationDisplayIdentifiers for SkankPhone. - (MachProcess::Suspend): Check if process state is not running instead of - having to receive an event after a timeout if one is given. - (MachProcess::Detach): Deallocate the exception port when detaching and - restore the inferior task exception ports prior to clearing and detaching. - (MachProcess::PrivateResume): Grab the task's basic info and make sure we - get the resume the correct number of times. - (MachProcess::DisableBreakpoint): Removed unused variable opcode_restored - and make sure the breakpoint is enabled before we start warning that - our opcode wasn't there. - * ppc/DBNArchImpl.cpp (DNBArchMachPPC::EnableHardwareSingleStep): Log - using LOG_STEP instead of LOAD_BREAKPOINTS. - * RNBServices.cpp (IsSBProcess): Check for NULL CFArrayRef returned from - SBSCopyApplicationDisplayIdentifiers for SkankPhone. - -2008-11-26 Greg Clayton <gclayton@apple.com> - - * MachProcess.h (MachProcess::Suspend): Now takes an optional absolute - timeout that, if non-NULL, will case the function to return after the - process has been suspended and is in a stopped state. If the timeout is - NULL, then no waiting will occur. - * MachProcess.cpp (MachProcess::Suspend): Ditto. - (MachProcess::Detach): Now replies to all exceptions, un-suspends all - threads and resumes the task. - (MachProcess::ReplyToAllExceptions): New function. - (MachProcess::PrivateResume): Now takes an additional parameter named - detach that will do the right thing when detaching from a process. - * DNBArchImpl.h (DNBArchMachI386::ThreadWillResume): Returns void. - * DNBArchImpl.cpp (DNBArchMachI386::ThreadWillResume): Returns void. - * RNBServices.cpp (ListApplications): #ifdef-ed for ARM only as it - currently uses SpringBoard. - (IsSBProcess): Ditto. - * test-remotenub.cpp (RNBRunLoopLaunchInferior): #ifdef-ed around - ARM parts so it compiles for i386. - (main): Ditto. - -2008-11-24 Greg Clayton <gclayton@apple.com> - - * DNBArchProtocol.h (DNBArchProtocol::ThreadWillResume): Now returns void. - * DNBArchImpl.cpp (DNBArchMachARM::ThreadWillResume): Returns void and - has hollowed out support for software single step. - (DNBArchMachARM::ThreadDidStop): Has a debug mode that uses hardware single - step to verify software single step that can be enabled by defining - DNB_ARCH_MACH_ARM_DEBUG_SW_STEP. - (DNBArchMachARM::SetSingleStepSoftwareBreakpoints): New function. - * DNBArchImpl.h (DNBArchMachARM::ThreadWillResume): Returns void. - (DNBArchMachARM::SetSingleStepSoftwareBreakpoints): New prototype. - (DNBArchMachARM::m_sw_single_step_next_pc): New member variable. - (DNBArchMachARM::m_sw_single_step_break_id): New member variable. - * MachThread.cpp (MachThread::ThreadWillResume): Now returns void. - * MachThread.h (MachThread::ThreadWillResume): Now returns void. - -2008-11-19 Greg Clayton <gclayton@apple.com> - - * DNBError.h (FlavorType): Added SpringBoard error type for arm builds. - * DNBError.cpp (DNBError::AsString): Now returns SpringBoard error strings - if the error type is SpringBoard. - * test-remotenub.cpp (RNBRunLoopLaunchInferior): Set the error into - RNBContext as either a POSIX error or a SpringBoard error. - * RNBContext.h (m_launch_status): Changed this member to be a DNBError - instead of a uint32_t. - (RNBContext::LaunchStatus): Now returns a reference to the DNBError object - in m_launch_status. - * RNBContext.cpp (RNBContext::LaunchStatusAsString): Let DNBError handle - any error string descriptions, including SpringBoard errors. - * RNBRemote.cpp (RNBRemote::HandlePacket_q): Use new error class in - RNBContext. - (RNBRemote::HandlePacket_C): Return without an erroneous error when resuming - a process with a signal. - * DNBArch.h (DNBArchProtocol::StepNotComplete): New protocol function with - default return value. - * DNBArchImpl.cpp (DNBArchMachARM::StepNotComplete): New function. - (DNBArchMachARM::EnableHardwareSingleStep): Handle hardware single stepping - over 32 bit thumb instructions better so we always do a true instruction - level single step. - * MachProcess.cpp (MachProcess::ExceptionMessageBundleComplete): Now resumes - if single stepping wasn't able to complete in a single run. - * MachThread.cpp (MachThread::ShouldStop): Fills in new step_more parameter - if stepping is not complete. - * MachThreadList.cpp (MachThreadList::ShouldStop): Pass step_more parameter - to each MachThread::ShouldStop call. - -2008-11-13 Greg Clayton <gclayton@apple.com> - - * MachProcess.cpp (MachProcess::PosixSpawnChildForPTraceDebugging): Don't - call posix_spawnattr_setbinpref_np when launching with posix_spawn on ARM - targets as it currently selects the incorrect slice due to multiple slices - that contain the same cputype, yet they all have differing cpusubtypes. - -2008-11-04 Greg Clayton <gclayton@apple.com> - - * RNBRemote.h (GetContinueThread): Don't return the current thread when - the continue thread is zero or -1. - * RNBRemote.cpp (RNBRemote::HandlePacket_c): Resume the process if we - have no continue thread set. - (RNBRemote::HandlePacket_s): Ditto. - (RNBRemote::HandlePacket_C): Ditto unless a continue address is specified - in which case we will only succeed if we have one thread when the continue - with signal and address doesn't have a continue thread specified. - (RNBRemote::HandlePacket_S): Ditto. - * DNB.cpp (DNBProcessResumeWithSignal): New function. - (DNBProcessResume): Added better logging. - (DNBProcessHalt): Ditto. - (DNBThreadResume): Ditto. - (DNBThreadResumeWithSignal): Ditto. - * DNB.h (DNBProcessResumeWithSignal): New prototype. - * DNBError.cpp (DNBError::LogThreaded): New function. - * DNBError.h (DNBError::LogThreaded): New prototype. - * DNBLog.cpp (_DNBLogThreaded): Added sequence ID for threaded logs. - (_DNBLogThreadedIf): Ditto. - * MachException.cpp (MachException::Data::GetStopInfo): Use new SoftSignal() - accessor. - (MachException::Data::DumpStopReason): Ditto. - (MachException::Message::Reply): Added better logging and log using the - soft signal if our task matches that in the exception. - (MachException::Data::Dump): Added better logging. - * MachException.h (IsSoftSignal): Removed. - (SoftSignal): New function that returns the soft signal in the exception - data if there is one, or zero otherwise. - * MachProcess.cpp (MachProcess::Suspend): Improved logging. - (MachProcess::Resume): Ditto. - (MachProcess::PrivateResume): Handle the case where the process is told - to resume with a signal by matching the signal up to the thread that had - the soft signal if no thread id is specified. - * MachThread.cpp (MachThread::Suspend): Improved logging. - (MachThread::Resume): Improved logging. - (MachThread::RestoreSuspendCount): Improved logging. - (MachThread::Resume): Improved logging. - (MachThread::Dump): Improved logging. - * MachThreadList.cpp (MachThreadList::Dump): Improved logging. - -2008-10-22 Greg Clayton <gclayton@apple.com> - - * test-remotenub.cpp (RNBRunLoopMode): Added a new enum value - eRNBRunLoopModeInferiorAttaching. - (g_long_options): Added "--attach=PID" for attaching to existing processes - and "--launch=(auto|posix|fork|springboard)" options. - (RNBRunLoopLaunchInferior): Now launches process with new - nub_launch_flavor_t enum that can be overridden with the --launch option. - (RNBRunLoopLaunchAttaching): New function for attaching to existing - processes. - (main): Added command line option support for the "--attach" and "--launch" - options and added attach to pid support and better logging. - * DNB.cpp/h: (DNBProcessLaunch): Added nub_launch_flavor_t and error - parameter for more precise control when launching processes. - (DNBProcessSBLaunch): Removed function as launching with SpringBoard can - now be done using DNBProcessLaunch with launch_flavor being set to - eLaunchTypeSpringBoard (arm only). - (DNBProcessSBAttach): Removed function (SpringBoard processes are now auto - detected in the MachProcess::AttachForDebug function on ARM). - * DNBDefs.h (NUB_GENERIC_ERROR): New generic error definition. - (nub_launch_flavor_t): New enumeration used for control over process - launching. - * MachProcess.cpp (IsSBProcess): New function. - (MachProcess::AttachForDebug): Removed flags parameter that was being used - for SpringBoard flags and we now detect if a process belongs to SpringBoard - by calling IsSBProcess. - (MachProcess::LaunchForDebug): Now has launch parameter that tells it how - to launch the inferior process and there is also an error code that gets - returned. This function can now launch using fork + exec, posix_spawn, - or SpringBoard on ARM targets. - (MachProcess::SBLaunchForDebug): Now uses DNBError reference instead of - uint32_t pointer for the error code. - (MachProcess::SBForkChildForPTraceDebugging): Ditto. - -2008-10-22 Greg Clayton <gclayton@apple.com> - - * MacOSX/arm/DNBArchImpl.cpp (DNBArchMachARM::GetRegisterValue): Set - register value to a uint32 value instead of a float64 value for s0 - - s31. - -2008-10-17 Greg Clayton <gclayton@apple.com> - - * test-remotenub.cpp (RNBRunLoopLaunchInferior): Don't listen for - the qLaunchSuccess if we aren't doing a lockdown connnection. - -2008-10-13 Greg Clayton <gclayton@apple.com> - - * RNBRemote.h (class RNBRemote): Added m_watchpoints member. - * DNB.cpp (DNBBreakpointSet): Added boolean hardware parameter for - requesting that a hardware breakpoint be set. - (DNBWatchpointSet): New function. - (DNBWatchpointClear): New function. - (DNBWatchpointGetHitCount): New function. - (DNBWatchpointGetIgnoreCount): New function. - (DNBWatchpointSetIgnoreCount): New function. - (DNBWatchpointSetCallback): New function. - (DNBWatchpointPrint): New function. - * DNBRegisterInfo.cpp (DNBRegisterValueClass::Dump): Modified to emit - a single DNBLog() call so there aren't multiple newlines when logging - to ASL. - * RNBContext.cpp (RNBContext::ThreadFunctionProcessStatus): Use new - process state changed events. - * DNBBreakpoint.h (class DNBBreakpoint): Removed m_state member and - added m_tid, m_enabled, m_hw_preferred, m_is_watchpoint, m_watch_read, - m_watch_write, and m_hw_index. - (DNBBreakpoint::ThreadID()): New accessor. - (DNBBreakpoint::IsEnabled()): New accessor. - (DNBBreakpoint::SetEnabled()): New accessor. - (DNBBreakpoint::IsWatchpoint()): New accessor. - (DNBBreakpoint::IsBreakpoint()): New accessor. - (DNBBreakpoint::SetIsWatchpoint()): New accessor. - (DNBBreakpoint::WatchpointRead()): New accessor. - (DNBBreakpoint::WatchpointWrite()): New accessor. - (DNBBreakpoint::HardwarePreferred()): New accessor. - (DNBBreakpoint::IsHardware()): New accessor. - (DNBBreakpoint::GetHardwareIndex()): New accessor. - (DNBBreakpoint::SetHardwareIndex()): New accessor. - (DNBBreakpoint::ThreadID()): New accessor. - (DNBBreakpoint::GetState()): Removed accessor. - (DNBBreakpoint::SetState()): Removed accessor. - (DNBBreakpoint::AddBreakpoint()): Renamed to Add(). - (DNBBreakpoint::RemoveBreakpoint()): Renamed to Remove(). - (DNBBreakpoint::FindBreakIDForAddress()): Renamed to FindIDByAddress(). - (DNBBreakpoint::ShouldStopAtBreakpoint()): Renamed to ShouldStop(). - (DNBBreakpoint::SetBreakpointCallback()): Renamed to SetCallback(). - (DNBBreakpoint::FindBreakpointWithAddress()): Renamed to - FindByAddress(). - (DNBBreakpoint::FindBreakpointWithBreakID()): Renamed to FindByID(). - (DNBBreakpoint::GetBreakpointAtIndex()): Renamed to GetByIndex(). - * FunctionProfiler.h: New header for subclass of DNBRuntimeAction. - * RNBRemote.cpp (RNBRemote::HandlePacket_v): Use new process state - changed events. - (RNBRemote::HandlePacket_z): Implement the hardware breakpoint and - watchpoint commands z1, Z1, z2, Z2, z3 and Z3 - * PThreadEvent.h (PThreadEvent::GetEventBits): Made member function - const. - (PThreadEvent::WaitForSetEvents): Ditto. - (PThreadEvent::WaitForEventsToReset): Ditto. - (PThreadEvent::WaitForResetAck): Ditto. - (PThreadEvent::m_mutex): Made class member mutable. - (PThreadEvent::m_set_condition): Made class member mutable. - (PThreadEvent::m_reset_condition): New mutable class member. - * ProfileObjectiveC.cpp - * DNBArch.h (DNBArch::NotifyException): Now has default implementation - that returns false. - (DNBArch::NumSupportedHardwareBreakpoints): New virtual member - function with a default implementation. - (DNBArch::NumSupportedHardwareWatchpoints): Ditto. - (DNBArch::EnableHardwareBreakpoint): Ditto. - (DNBArch::EnableHardwareWatchpoint): Ditto. - (DNBArch::DisableHardwareBreakpoint): Ditto. - (DNBArch::DisableHardwareWatchpoint): Ditto. - * DNB.h (DNBBreakpointSet): New take a HARDWARE parameter that allows - requests for setting hardware breakpoints. - (DNBWatchpointSet): New function prototype. - (DNBWatchpointClear): New function prototype. - (DNBWatchpointGetHitCount): New function prototype. - (DNBWatchpointGetIgnoreCount): New function prototype. - (DNBWatchpointSetIgnoreCount): New function prototype. - (DNBWatchpointSetCallback): New function prototype. - (DNBWatchpointPrint): New function prototype. - * MacOSX/arm/DNBArchImpl.cpp: Added hardware breakpoint and watchpoint - support for ARM. - (DNBArchMachARM::GetCPUType): New function. - (DNBArchMachARM::DumpDBGState): New function. - (DNBArchMachARM::GetDBGState): New function. - (DNBArchMachARM::SetDBGState): New function. - (DNBArchMachARM::EnableHardwareSingleStep): New function. - (DNBArchMachARM::EnableHardwareBreakpoint): New function. - (DNBArchMachARM::NotifyException): Removed. - (DNBArchMachARM::DisableHardwareBreakpoint): New function. - (DNBArchMachARM::EnableHardwareWatchpoint): New function. - (DNBArchMachARM::DisableHardwareWatchpoint): New function. - * MacOSX/MachThread.cpp (MachThread::Suspend): Added better logging. - (MachThread::Resume): Ditto. - (MachThread::RestoreSuspendCount): Ditto. - (MachThread::Dump): Ditto. - (MachThread::EnableHardwareBreakpoint): New function. - (MachThread::EnableHardwareWatchpoint): New function. - (MachThread::DisableHardwareBreakpoint): New function. - (MachThread::DisableHardwareWatchpoint): New function. - * MacOSX/MachThreadList.h (MachThreadList::GetLastError): Removed. - (MachThread::EnableHardwareBreakpoint): New prototype. - (MachThread::DisableHardwareBreakpoint): New prototype. - (MachThread::EnableHardwareWatchpoint): New prototype. - (MachThread::DisableHardwareWatchpoint): New prototype. - (class MachThread): Remove m_err member variable. - * MacOSX/ppc/DNBArchImpl.cpp (DNBArchMachPPC::GetCPUType) New - function. - (DNBArchMachPPC::NotifyException): Removed. - * MacOSX/ppc/DNBArchImpl.h (DNBArchMachPPC::NotifyException): Removed. - * MacOSX/MachThread.h (MachThread::EnableHardwareBreakpoint): New - prototype. - (MachThread::EnableHardwareWatchpoint): New prototype. - (MachThread::DisableHardwareBreakpoint): New prototype. - (MachThread::DisableHardwareWatchpoint): New prototype. - (class MachThread): Renambed class member m_exception to - m_stop_exception. - * MacOSX/MachProcess.cpp (MachProcess::SetState): Updated to use new - process event enumerations. - (MachProcess::PrivateResume): Added better logging. - (MachProcess::CreateBreakpoint): Added bool HARDWARE parameter for - requesting hardware breakpoints. - (MachProcess::CreateWatchpoint): New function. - (MachProcess::DisableAllWatchpoints): New function. - (MachProcess::DisableWatchpoint): New function. - (MachProcess::DumpWatchpoint): New function. - (MachProcess::EnableBreakpoint): Enabled breakpoints in hardware if - requested and supported. - (MachProcess::DisableBreakpoint): Disable hardware breakpoints if that - is how they were set. - (MachProcess::EnableWatchpoint): New function. - (MachProcess::ExceptionMessageBundleComplete): Wait for the - eEventProcessRunningStateChanged event to be reset before changing - state to stopped to avoid race condition with very fast start/stops. - (MachProcess::LaunchForDebug): Added posix_spawn support. - (MachProcess::PosixSpawnChildForPTraceDebugging): New function. - * MacOSX/i386/DNBArchImpl.cpp (DNBArchMachI386::GetCPUType): New - function. - * MacOSX/i386/DNBArchImpl.h (DNBArchMachI386::GetCPUType): New - prototype. - * MacOSX/MachProcess.h (PosixSpawnChildForPTraceDebugging): New - prototype. - * MacOSX/MachException.cpp (class MachException::ThreadMessage): - Renamed class to MachException::Data. - * MacOSX/MachThreadList.cpp (class MachThreadList): Removed m_err - class member. - (MachThreadList::EnableHardwareBreakpoint): New function. - (MachThreadList::DisableHardwareBreakpoint): New function. - (MachThreadList::EnableHardwareWatchpoint): New function. - (MachThreadList::DisableHardwareWatchpoint): New function. - * MacOSX/MachException.h (class MachException::ThreadMessage): - Renamed class to MachException::Data. - * DNBDefs.h (nub_watch_t): New typedef. - (INVALID_NUB_HW_INDEX): New macro definition. - (WATCH_TYPE_READ): New macro definition. - (WATCH_TYPE_WRITE): New macro definition. - (NUB_STATE_IS_RUNNING): New macro to see if state is a running state. - (NUB_STATE_IS_STOPPED): New macro to see if state is a stopped state. - (eEventProcessStateChanged): Deprecated. - (eEventProcessRunningStateChanged): New process event state. - (eEventProcessStoppedStateChanged): New process event state. - (LOG_WATCHPOINTS): New macro definition for logging watchpoints. - * test-remotenub.cpp (RNBRunLoopLaunchInferior): Use new process - event states. - * FunctionProfiler.cpp: New class that allows single stepping through - an address range for tracing exact call graphs. - -2008-09-22 Greg Clayton <gclayton@apple.com> - - * RNBRemote.h (GetContinueThread): If the continue thread is zero or - -1 then return GetCurrentThread(). - * RNBRemote.cpp (m_packets): Made the vCont functions call - RNBRemote::HandlePacket_v(). - (RNBRemote::HandlePacket_H): Cleaned up whitespace. - (RNBRemote::HandlePacket_last_signal): Return actual signal values for - EXE_SOFTWARE/EXC_SOFT_SIGNAL mach exceptions. - (RNBRemote::HandlePacket_v): Implemented the 'vCont?' and 'vCont;' - packets. - (RNBRemote::HandlePacket_c): Handle the case where an address is - provided. - (RNBRemote::HandlePacket_C): Implemented the continue with signal - including when an address is provided. - (RNBRemote::HandlePacket_S): Implemented the step with signal - including when an address is provided. - * DNB.cpp (DNBProcessResume): Pass 0 as the signal when resuming - a process without specifying a thread. - (DNBThreadResume): Pass 0 as the signal when resuming a specific thread. - (DNBThreadResumeWithSignal): New function. - * DNB.h (DNBThreadResumeWithSignal): New prototype. - * MachException.h (MachException::Message::Reply): Added a signal - parameter. - * MachException.cpp (MachException::Message::Reply): Update the thread - with the new SIGNAL parameter instead of always zero so signals can be - passed on to programs. - * MachProcess.h (MachProcess::Resume): Added a signal parameter. - * MachProcess.h (MachProcess::PrivateResume): Added a signal parameter. - * MachProcess.cpp (MachProcess::Resume): Pass new SIGNAL parameter to - MachProcess::PrivateResume. - * MachProcess.cpp (MachProcess::PrivateResume): Pass new SIGNAL - parameter to the mach exception reply. - -2008-08-08 Greg Clayton <gclayton@apple.com> - - * DNB.cpp (gProcessMap): Removed static C++ global. - (GetProcessMap): New Function. - (AddProcessToMap): New function. - (RemoveProcessFromMap): New function. - (GetProcessSP): Use new GetProcessMap function to get process list. - -2008-07-30 Greg Clayton <gclayton@apple.com> - - * debugserver-entitlements.plist (get-task-allow): Removed. - (run-invalid-allow): Added boolean value set to TRUE. - -2008-04-18 Greg Clayton <gclayton@apple.com> - - * MachProcess.cpp (MachProcess::Task): Added getuid(), geteuid(), - getgid(), getegid() to the log message if task for pid fails. - -2008-04-07 Greg Clayton <gclayton@apple.com> - - * RNBContext.cpp (RNBContext::LaunchStatusAsString): Removed unused - tmp_str variable. - -2008-04-04 Greg Clayton <gclayton@apple.com> - - * CFString.cpp/h (UTF8): Made a static function that can convert - a CFStringRef to UTF8. - -2008-04-04 Greg Clayton <gclayton@apple.com> - - * test-remotenub.cpp (main): Make sure we exit after we send the - application list. - -2008-04-04 Greg Clayton <gclayton@apple.com> - - * RNBServices.h (IsSBProcess): New prototype; - * RNBServices.cpp (IsSBProcess): New function that returns true it - SpringBoard owns or knows about the process. - * RNBRemote.cpp (RNBRemote::HandlePacket_v): Made attach work correctly. - * DNB.cpp (DNBProcessSBAttach): New function for use when attaching to - a process owned by SpringBoard. - (DNBProcessAttach): Fixed an issue where a local was shadowing a - parameter. - * DNB.h (DNBProcessSBAttach): New prototype. - * MachProcess.cpp (MachProcess::AttachForDebug): AttachForDebug now - takes some flags so it knows to enable SpringBoard functionality. - * MachProcess.h (MachProcess::AttachForDebug): Added flags parameter - to prototype. - -2008-04-04 Greg Clayton <gclayton@apple.com> - - * test-remotenub.cpp (RNBRunLoopGetArgsFromRemote): Handle the new - attach packet and watch for connection being lost. - (main): handle the --applist option when there we aren't using lockdown - by printing the results to stdout and exiting with appropriate error code - if we failed. Also handle the new prototype for ListApplications. - * RNBServices.h (ListApplications): Change first parameter to be a std::string - that will get the contents of the plist so we can use this for more than - just lockdown. - * RNBServices.cpp (ListApplications): Change first parameter to be a std::string - that will get the contents of the plist so we can use this for more than - just lockdown and also fixed the logic so we actually create a full list of - applications instead of just overwriting the first entry. - * RNBRemote.h (PacketEnum): Added a new 'vattach' enum for the "vAttach;PID" - gdb remote command. - (RNBRemote::HandlePacket_v): New prototype; - * RNBRemote.cpp (RNBRemote::CreatePacketTable): add the vattach packet definition - to m_packets. - (RNBRemote::HandlePacket_v): New function that handles attach to a process. - -2008-04-03 Jim Ingham <jingham@apple.com> - - * RNBRemote.h: Add query_launch_success to packet enum. - * RNBRemote.cpp (RNBRemote::CreatePacketTable_): Add query_launch_success. - (HandlePacket_q): Handle query_launch_success. - * DNB.cpp (DNBProcessSBLaunch): Pass in launch_retval. - * DNB.h: Change prototype of DNBProcessSBLaunch to take launch_retval. - * RNBContext.cpp (RNBContext::LaunchStatusAsString): New function. - * RNBContext.h (RNBContext): Add m_launch_status & accessors. - * macosx/MachProcess.cpp (MachProcess::SBLaunchForDebug): Pass launch_retval. - (MachProcess::SBForkChildForPTraceDebugging): Accept & set launch_retval. - * Macosx/MachProcess.h: Change prototypes of SBLaunchForDebug & - ForkChildForPTraceDebugging to accept launch_retval. - * test-remotenub.cpp (RNBRunLoopLaunchInferior): Get the launch status and - put it in the context, then wait for the qLaunchStatus packet. - -2008-04-03 Greg Clayton <gclayton@apple.com> - - * com.apple.debugserver.plist: Changed plist so debugserver - runs as mobile user. - * com.apple.debugserver.applist.plist: Ditto. - -2008-04-03 Greg Clayton <gclayton@apple.com> - - * MachProcess.cpp: (MachProcess::SBForkChildForPTraceDebugging): - Increased SBS application launch timeout to 30 seconds. - -2008-03-27 Christopher Friesen <friesen@apple.com> - - * RNBServices.h: Pass tasks from SpringBoard as a plist - * RNBServices.cpp: Ditto. - * test-remotenub.cpp: added --applist flag - * com.apple.debugserver.applist.plist: Agent plist - -2008-03-17 Jim Ingham <jingham@apple.com> - - * DNB.h: Pass envp to DNBProcessLaunch & DNBProcessSBLaunch. - * DNB.cpp: Ditto. - * MachProcess.h: Ditto for *LaunchForDebug and - *ForkChildForPtraceDebugging. - * MachProcess.cpp (MachProcess::LaunchForDebug): Pass on envp. - (MachProcess::SBLaunchForDebug): Ditto. - (MachProcess::ForkChildForPtraceDebugging): Accept envp, haven't actually - implemented the passing yet. - (MachProcess::SBForkChildForPtraceDebuggin): Accept envp, convert to - CFDictionary and pass to SBSLaunchApplication. - * RNBContext.h: Add environment to the context. - * RBNContext.cpp (RNBContext::EnvironmentAtIndex): New function. - * RNBRemote.h: Add set_environment_variable to the PacketEnum. - * RNBRemote.cpp (RNBRemote::CreatePacketTable): Add QEnvironment:. - * (RNBRemote::HandlePacket_Q): Ingest the environment variable. - * test-remotenub.cpp (RNBRunLoppLaunchInferior): Convert the env - array in the context into an array, and pass it to the DNBProcess*Launch - methods. - -2008-03-17 Greg Clayton <gclayton@apple.com> - - * DNBBreakpoint.cpp (DNBBreakpointList::GetBreakpointAtIndex): New - functions (const and non-const versions). - * DNBBreakpoint.h (DNBBreakpointList::GetBreakpointAtIndex): New - prototypes (const and non-const versions). - * DNBError.h (DNBError::Success()): Don't use KERN_SUCCESS define. - (DNBError::Fail()): Don't use KERN_SUCCESS define. - * MachProcess.cpp (MachProcess::DisableAllBreakpoints): New function. - (MachProcess::Detach): Added initial implementation that will halt - the process, disable all breakpoints and call PT_DETACH. - * MachProcess.h (MachProcess::DisableAllBreakpoints): New prototype. - -2008-03-04 Greg Clayton <gclayton@apple.com> - - * RNBRemote.h (RNBRemote::SendHexEncodedBytePacket): New prototype. - * RNBRemote.cpp (RNBRemote::SendHexEncodedBytePacket): New function. - (RNBRemote::SendSTDOUTPacket): Use SendHexEncodedBytePacket function - to send bytes. - (RNBRemote::SendSTDERRPacket): Ditto. - (RNBRemote::HandlePacket_q): Return a valid thread info string for - qThreadExtraInfo queries. - * DNB.cpp (DNBThreadPrintStopReason): Commented out unused function. - (DNBThreadGetInfo): New function. - * DNB.h (DNBThreadPrintStopReason): Commented out prototype. - (DNBThreadGetInfo): New prototype. - * MachProcess.cpp (MachProcess::GetThreadInfo): New function. - * MachProcess.h (MachProcess::GetThreadInfo): New prototype. - * MachThreadList.cpp (MachThreadList::GetThreadInfo): New function. - * MachThreadList.h (MachThreadList::GetThreadInfo): New prototype. - * MachThread.cpp (MachThread::GetBasicInfoAsString): New function. - (MachThread::InferiorThreadID): New function. - * MachThread.cpp (MachThread::GetBasicInfoAsString): New prototype. - (MachThread::InferiorThreadID): New prototype. - -2008-02-27 Greg Clayton <gclayton@apple.com> - - * RNBRemote.cpp (RNBRemote::HandlePacket_last_signal): Set the - current thread when we notify a thread has stopped to subsequent - g and p packets get the correct data. - -2008-02-26 Jason Molenda (jmolenda@apple.com) - - * RNBRemote.h: Add query_thread_extra_info enum. - * RNBRemote.cpp: Add support for qThreadExtraInfo. - Currently we return 'Ok' as the packet status for - every thread. - -2008-02-26 Jason Molenda (jmolenda@apple.com) - - * RNBRemote.cpp (RNBRemote::HandlePacket_q): Correct handling - of qfThreadInfo/qsThreadInfo. - -2008-02-20 Jason Molenda (jmolenda@apple.com) - - * RNBRemote.h: Change default for gdb's max incoming packet size to - reflect the real default size. - * RNBRemote.cpp (HandlePacket_Q): Correct the string comparisions for - the QSetMaxPayloadSize and QSetMaxPacketSize packets. - -2008-02-19 Christopher Friesen <friesen@apple.com> - - * CFDataFormatters.c: CoreFoundation data formatters added to project. - -2008-02-19 Jason Molenda (jmolenda@apple.com) - - * RNBRemote.h: Record the max payload size, not the max packet - size for less ambiguous meaning. - * RNBRemote.cpp: Add support for QSetMaxPayloadSize: packet which - should have a clearer meaning than QSetMaxPacketSize. - QSetMaxPacketSize will be removed once we get have a chance to get - a new debugserver and gdb submitted. - -2008-02-18 Jason Molenda (jmolenda@apple.com) - - * RNBRemote.h: Make default size 1024. - * RNBRemote.cpp: Questionmark packet should stay under - max_packet_size - 5 to allow for start, end, checksum and nul - char bytes. - -2008-02-18 Jason Molenda (jmolenda@apple.com) - - * RNBRemote.h: Add m_max_packet_size to class defn. - * RNBRemote.cpp: Initialize it, use it. - -2008-02-18 Jason Molenda (jmolenda@apple.com) - - * RNBRemote.h: Add set_max_packet_size. - * RNBRemote.cpp: Add QSetMaxPacketSize packet handling. - -2008-02-18 Greg Clayton <gclayton@apple.com> - - * test-remotenub.cpp (HandleProcessStateChange): Call new - RNBRemote::FlushSTDIO function. - (RNBRunLoopInferiorExecuting): Ditto. - * RNBRemote.h (RNBRemote::FlushSTDIO): New prototype. - * RNBRemote.cpp (RNBRemote::FlushSTDIO): New function to - centralize the stdio. - -2008-02-18 Greg Clayton <gclayton@apple.com> - - * DNB.cpp (DNBProcessWaitForEvent): Added timeout pointer as - parameter that can be NULL for infinite timeout to simplify - the DNB interface. - (DNBProcessTimedWaitForEvent): Removed function. - * DNB.h (DNBProcessWaitForEvent): Added timeout argument. - (DNBProcessTimedWaitForEvent): Removed prototype. - * DNBTimer.h (DNBTimer::OffsetTimeOfDay): New function. - * CFString.cpp (CFString::GetLength() const): New function. - * CFString.h (CFString::GetLength() const): New prototype. - * MachProcess.h (MachProcess class): Removed m_attached and - added m_flags. - * MachProcess.cpp (MachProcess::AttachForDebug): Set m_flags - to indicate we attached. - (MachProcess::SBLaunchForDebug): Set m_flags to indicate we - attached using SpringBoard and that we attached. - (MachProcess::SBForkChildForPTraceDebugging): Changed to new - SpringBoardServices API. - (MachProcess::ThreadFunctionException): Added code that will - renew a watchdog assertion when we launch apps through - SpringBoardServices. - * PThreadEvent.cpp (PThreadEvent::WaitForSetEvents): Simplified - PThreadEvent API to have only one version of WaitForSetEvents - that has an optional timeout pointer argument. - * RNBContext.cpp (RNBContext::StopProcessStatusThread): Adapt - to new PThreadEvent API changes. - (RNBContext::ThreadFunctionProcessStatus): Adapt to new - DNBProcessWaitForEvent API changes. - * RNBRemote.cpp (RNBRemote::StopReadRemoteDataThread): Adapt - to new PThreadEvent API changes. - * test-remotenub.cpp (RNBRunLoopLaunchInferior): Adapt to new - DNBProcessWaitForEvent API changes. - (RNBRunLoopInferiorExecuting): Process STDIO first, then - incoming packets. - -2008-02-14 Jason Molenda (jmolenda@apple.com) - - * MachProcess.cpp: (MachProcess::SBForkChildForPTraceDebugging): - Set mode bits on slave side of pty. - -2008-02-12 Greg Clayton <gclayton@apple.com> - - * DNB.cpp (DNBEnableLogging): Removed function. - (DNBThreadPrintStopReason): Removed the file handle from this - function and use DNBLog calls. - * DNB.h (DNBEnableLogging): Removed function prototype. - (DNBThreadPrintStopReason): Removed the file handle - from the function prototype in favor of using DNBLog calls. - * DNBDataRef.cpp (DNBDataRef::Dump): Removed file handle to use - DNBLog for the logging and print a log line each time a full line - is ready for output after caching it in a local buffer. - * DNBDataRef.cpp (DNBDataRef::Dump): Removed file handle from - prototype. - * DNBDefs.h (DNBCallbackLog): New callback prototype for all - logging. - DNBLog.cpp(g_debug_opt): Renamed to d_debug and made it a file - static. - (DNBLogGetDebug): New accessor function for g_debug. - (DNBLogSetDebug): New accessor function for g_debug. - (g_verbose): Made into a file static and added accessors. - (DNBLogGetVerbose): New accessor function for g_verbose. - (DNBLogSetVerbose): New accessor function for g_verbose. - (DNBLogSetLogCallback): New function call that registers a logging - callback for all logging in libdebugnub.dylib and any code that - loads it. - (DNBLogToASL): Removed function as it is deprecated in favor of - using DNBLogSetLogCallback to regsiter a callback function that - implements the logging. - (DNBLogToFile): Ditto. - (DNBLogCloseLogFile): Ditto. - (DNBLogToFile): Ditto. - (DNBLogToFile): Ditto. - (_DNBLogPuts): Removed unused function. - (_DNBLogVAPrintf): Calls the callback function to do the logging - if one has been registered. - * DNBLog.h (DNBLOG_FLAG_FATAL): New defines that get passed to - any registered logging callback functions. - (DNBLOG_FLAG_FATAL): Ditto. - (DNBLOG_FLAG_ERROR): Ditto. - (DNBLOG_FLAG_WARNING): Ditto. - (DNBLOG_FLAG_DEBUG): Ditto. - (DNBLOG_FLAG_VERBOSE): Ditto. - (DNBLOG_FLAG_THREADED): Ditto. - (DNBLog*): All logging calls are now exported from libdebugnub.dylib - so there aren't two copies (one in debugserver and one in debugnub). - C99 vararg Macros wrap all logging calls so no var arg processing - occurs when logging is disabled. - * DNBRegisterInfo.cpp (DNBRegisterValueClass::Dump): Removed file - handle and now use DNBLog calls. - * DNBRegisterInfo.h (DNBRegisterValueClass::Dump): Removed file - handle from prototype. - * MachException.cpp (catch_mach_exception_raise_state_identity): - Removed newlines from logging call. - (catch_mach_exception_raise): Ditto. - (MachException::Message::Dump): Removed file handle from params - and removed newlines from logging call. - (MachException::ThreadMessage::DumpStopReason): Removed file handle - from params and use DNBLog for logging output. - (MachException::ThreadMessage::Dump): Log using DNBLog instead of - file handle. - * MachProcess.cpp (MachProcess::DumpThreadStoppedReason): Ditto. - (MachProcess::ReadMemory): Ditto. - (MachProcess::WriteMemory): Ditto. - (ExceptionMessageBundleComplete): Ditto. - * MachThread.cpp (MachThread::Dump): Ditto. - (MachThread::DumpRegisterState): Ditto. - * MachThreadList.cpp (MachThreadList::DumpThreadStoppedReason): Ditto. - (MachThreadList::Dump): Ditto. - * RNBRemote.cpp (set_logging): Use new function callback registration - calls when enabling ASL logging. - test-remotenub.cpp (ASLLogCallback): New function to handle all ASL - logging. This function gets registered with libdebugnub.dylib when we - want to log using ASL. - (FileLogCallback): New function to handle all file logging. This - function gets registered with libdebugnub.dylib when we want to log - to a 'FILE *'. - (main): Register the logging callback functions when we want to log - to file or using ASL. - -2008-02-12 Greg Clayton <gclayton@apple.com> - - * test-remotenub.cpp (main): Default to ASL logging with no log - bits set to allow for warning and error logging. - * RNBRemote.h (struct Breakpoint): New structure for ref counting - breakpoints in Z and z packets. - * RNBRemote.cpp (RNBRemote::SendPacket): Use new LOG_RNB_PACKETS - defined when logging actual packet content. - (RNBRemote::HandleAsyncPacket): Ditto. - (RNBRemote::HandleReceivedPacket): Ditto. - (RNBRemote::HandlePacket_z): Ref count the setting and removing - of breakpoints with the Z and z packets using new struct - RNBRemote::Breakpoint. - * RNBDefs.h (LOG_RNB_PACKETS): New define for logging the sending - and receiving of packets data. - * DNB.cpp (DNBPrintf): Check for NULL file handle. - * DNBBreakpoint.cpp (DNBBreakpoint::Dump): Ditto. - (DNBBreakpointList::Dump): Ditto. - * DNBDefs.h (LOG_EVENTS): New define for logging PThreadEvent. - * DNBLog.cpp (g_debug_opt): Relocated outside of #if that turns off - logging completely to allow option parsing code that uses it to - still compile. - (g_verbose): Ditto. - * DNBLog.h (DNBLogToASL): Added prototype for when logging is - disabled via preprocessor macro. - (DNBLogToFile): Ditto. - * DNBRegisterInfo.cpp (DNBRegisterValueClass::Dump): Check for NULL - file handle. - * MachException.cpp (MachException::ThreadMessage::DumpStopReason): Ditto. - (MachException::ThreadMessage::Dump): Ditto. - * MachProcess.cpp (MachProcess::CreateBreakpoint): Improved logging. - (MachProcess::DisableBreakpoint): Verify the original opcode gets - restored, improved logging and added unconditional logging for when - things go wrong. - (MachProcess::EnableBreakpoint): Verify the breakpoint opcode gets - written, improved logging and added unconditional logging for when - things go wrong. - * MachThread.cpp (MachThread::Dump): Check for NULL file handle. - * MachVMMemory.cpp (MachVMMemory::WriteRegion): Flush caches in inferior - after writing to inferior memory. - * PThreadEvent.cpp: Changed all logging calls to key off of LOG_EVENTS - instead of LOG_VERBOSE. - MachDYLD.cpp (MachDYLD::Dump): Check for NULL file handle. - (MachDYLD::DYLIBInfo::Dump): Ditto. - ProfileObjectiveC.cpp (ProfileObjectiveC::DumpStats): Ditto. - -2008-02-09 Jason Molenda (jmolenda@apple.com) - - * RNBRemote.cpp (set_logging): Log to ASL unconditionally when - processing a QSetLogging packet. - -2008-02-06 Greg Clayton <gclayton@apple.com> - - * test-remotenub.cpp (main): Dup stdout and stderr to /dev/NULL - when we use lockdown. - -2008-02-06 Greg Clayton <gclayton@apple.com> - - * RNBSocket.cpp (RNBSocket::Disconnect): Removed unused var ERR. - * RNBRemote.cpp(RNBRemote::HandlePacket_Q): Removed unused var PID. - * DNBError.cpp (DNBError::LogThreadedIfError): Removed unused var - ERR_MSG. - * test-remotenub.cpp (RNBRunLoopLaunchInferior): Removed unused - variable EXECUTABLE_LENGTH. - (main): Removed unused variable ARG_IDX. - -2008-02-06 Chris Marcellino (cmarcellino@apple.com) and Myke Olson (molson@apple.com) - - * MachProcess.cpp (SBForkChildForPTraceDebugging): Bring up to date with - current SpringBoardServices.framework types and imports. - -2008-02-05 Jason Molenda (jmolenda@apple.com) - - * RNBRemote.cpp (set_logging): Remove the mode=file and filename= - options to the QSetLogging packet. We're only going to support logging - to ASL for now. Logging to a file can still be accomplished by the - -l command line argument. - -2008-02-02 Christopher Friesen (cfriesen@apple.com) - - * Added libXcodeDebugerSupport.dylib target - * XCDebuggerIntrospection.[hc]: Support for Xcode's debugger introspection. - -2008-02-01 Jason Molenda (jmolenda@apple.com) - - * DNBLog.cpp (DNBLogCloseLogFile): New function to close a logfile - at exit. - * DNBLog.h: Prototype. - * test-remotenub.cpp (main): Close the log file before exiting. - -2008-02-01 Jason Molenda (jmolenda@apple.com) - - * RNBRemote.cpp (set_logging): Recognize the "filename=" argument - to the QSetLogging directive. - * DNBLog.cpp (DNBLogGetLogMask): New fun.c - * DNBLog.h: Prototype. - -2008-01-31 Jason Molenda (jmolenda@apple.com) - - * DNBLog.cpp: Add ASL logging as a run-time selectable option. - (DNBLogToASL, DNBLogToFile): Functions to switch between logging to - a file and logging via ASL. - * DNBLog.h: Prototypes. - * RNBRemote.cpp (set_logging): Recognize the "mode=" field to enable - asl logging. Skip unrecognized keys. - -2008-01-31 Greg Clayton (gclayton@apple.com) - - * DNB.cpp (sigchld_handler): Better logging when we get a - SIGCHILD and we are watching for process related logging events. - * test-remotenub.cpp (RNBRunLoopInferiorExecuting): Only reset - events when we still have event bits set. - -2008-01-29 Jason Molenda (jmolenda@apple.com) - - * RNBRemote.h: Add set_logging_mode. - * RNBRemote.cpp (RNBRemote::CreatePacketTable): Recognize - QSetLogging. - -2008-01-29 Jason Molenda (jmolenda@apple.com) - - * RNBRemote.cpp (set_logging): New function to parse the QSetLogging - packet. - (RNBRemote::HandlePacket_Q): Call it. - -2008-01-28 Jason Molenda (jmolenda@apple.com) - - * RNBRemote.h: Minimal packet size is 1024 in our gdb now. - * RNBRemote.cpp: Add the stop_pc value in big-endian order to the - T response packet to make it a little easier to follow where gdb - is stepping. - -2008-01-28 Greg Clayton <gclayton@apple.com> - - * RNBContext.h: Removed m_pid_state from RNBContext class so that - it couldn't get out of sync with the actual process and its accessors - SetProcessState() and GetProcessState(). - * RNBContext.cpp (RNBContext::ProcessStateRunning): Always return the - current state of the process instead of a cached value. - * test-remotenub.cpp (RNBRunLoopLaunchInferior): Remove call to - deprecated RNBContext::SetProcessState(). - (HandleProcessStateChange): Ditto. - -2008-01-24 Greg Clayton (gclayton@apple.com) - - * RNBRemote.cpp (RNBRemote::HandlePacket_q): See if command starts with - "qSymbol" (no trailing "s") and return the empty string. - -2008-01-24 Greg Clayton (gclayton@apple.com) - - * RNBRemote.cpp (RNBRemote::HandlePacket_q): See if command starts with - "qSymbols" and return the empty string. - -2008-01-24 Greg Clayton (gclayton@apple.com) - - * DNBError.h (DNBError::DumpIfError): Removed prototype. - * DNBError.cpp (DNBError::DumpIfError): Removed function. - (DNBError::LogThreadedIfError): Output error as hex. - * MachException.cpp (MachException::Message::Receive): Don't use - DNBError::DumpIfError, now use DNBError::LogThreadedIfError. - * MachProcess.cpp (MachProcess::StartExceptionThread): Ditto. - (MachProcess::Suspend): Ditto. - (MachProcess::SBForkChildForPTraceDebugging): Ditto. - * MachVMMemory.cpp (MachVMMemory::Read): Cleaned up logging - calls. - (MachVMMemory::Write): Ditto. - (MachVMMemory::WriteRegion): Added logging. - * RNBContenxt.cpp (display_thread_info): Removed function. - * RNBRemote.cpp (RNBRemote::GetPacket): Commented out stderr - messages to avoid SpringBoard from killing us. - (RNBRemote::HandlePacket_p): Ditto. - (RNBRemote::HandlePacket_P): Ditto. - (RNBRemote::HandlePacket_c): Ditto. - (RNBRemote::HandlePacket_A): Removed code that was already - * RNBSocket.cpp (RNBSocket::Listen): Commented out stdout - messages to avoid SpringBoard from killing us. - (RNBSocket::ConnectToService): Ditto. - -2008-01-24 Jim Ingham <jingham@apple.com> - - * RNBRemote.cpp (RNBRemote::HandlePacket_q): Reply "" to qSymbols - and qOffsets. - -2008-01-23 Jason Molenda (jmolenda@apple.com) - - * RNBRemote.h: m_noack_mode to RNBRemote class. - * RNBRemote.cpp: Change #ifdef NO_ACKS code blocks - to use m_noack_mode instance variable. - (RNBRemote::HandlePacket_Q): New function to handle - QStartNoAckMode packet and set m_noack_mode appropriately. - * test-remotenub.cpp: Remove NO_ACKS ifdefs. - -2008-01-22 Jason Molenda (jmolenda@apple.com) - - * RNBRemote.cpp (RNBRemote::CreatePacketTable): Recognize - QStartNoAckMode as an unsupported remote protocol request. - * RNBRemote.h: Add start_noack_mode enum entry. - -2008-01-22 Greg Clayton (gclayton@apple.com) - - * DNBLog.h: Removed C++ namespace for DNBLog (changed all DNBLog:: - to DNBLog) so C99 var arg macros can be used to completely disable - all logging and any functions that may be called when making the - variable arguments. - * DNBLog.cpp: Ditto. - * DNB.cpp: Ditto. - * DNBBreakpoint.cpp: Ditto. - * DNBError.cpp: Ditto. - * MacOSX/MachDYLD.cpp: Ditto. - * MacOSX/MachException.cpp: Ditto. - * MacOSX/MachProcess.cpp: Ditto. - * MacOSX/MachThread.cpp: Ditto. - * MacOSX/MachThreadList.cpp: Ditto. - * MacOSX/MachVMMemory.cpp: Ditto. - * MacOSX/MachVMRegion.cpp: Ditto. - * MacOSX/arm/DNBArchImpl.cpp: Ditto. - * MacOSX/ppc/DNBArchImpl.cpp: Ditto. - * PThreadEvent.cpp: Ditto. - * RNBContext.cpp: Ditto. - * RNBRemote.cpp: Ditto. - * RNBSocket.cpp: Ditto. - * test-remotenub.cpp: Ditto. - -2008-01-21 Jason Molenda (jmolenda@apple.com) - - * test-remotenub.cpp: Add NO_SPRINGBOARD for turning off SpringBoard - dependency ala NO_ACKS. - -2008-01-18 Jason Molenda (jmolenda@apple.com) - - * RNBSocket.h (RNBSocket::RNBSocket): Take either a port # or - an already-opened socket, with a boolean to indicate which it is. - * RNBRemote.cpp (RNBRemote::RNBRemote): Ditto. - * RNBRemote.h: Prototype update. - * test-remotenub.cpp: Include lockdown.h. Take --lockdown command - line arg, get the socket from liblockdown.dylib instead of opening - our own socket if it is specified. --lockdown indicates that - the program name/args will be provided via remote protocol instead - of on the command line. - -2008-01-17 Jason Molenda (jmolenda@apple.com) - - * RNBRemote.cpp: Add NO_ACKS #ifdefs around code that computes - the checksums and sends/expects the gdb remote protocol ACK packets. - If NO_ACKS is defined, debugserver will not send or expect acks. - * test-remotenub.cpp (main): Print a different version string - if NO_ACKS is defined. - -2008-01-16 Greg Clayton (gclayton@apple.com) - - * PThreadEvent.cpp: Added this pointer to all logging calls. - -2008-01-16 Greg Clayton (gclayton@apple.com) - - * RNBSocket.cpp (RNBSocket::Connect()): Use TCP so we can try the - TCP_NODELAY socket option. - (RNBSocket::SetSocketOption()): New function. - * RNBSocket.h (RNBSocket::SetSocketOption()): New class function. - -2008-01-14 Jason Molenda (jmolenda@apple.com) - - * RNBRemote.cpp (RNBRemote::HandlePacket_last_signal): When printing - registers, skip over gdb regs which don't map to DNB regs. - -2008-01-14 Jim Ingham <jingham@apple.com> - - * ChangeLog - created. - * RBNContext.h: Added m_arg_vec and accessors. - * RNBContext.cpp (SetProcessID): New function. - * RBNRemote.h: Added packet type to HandlePacket & HandleAsyncPacket - * RNBRemote.cpp (HandlePacket, HandleAsyncPacket): Return type. - (HandlePacket_A): Fix a few bugs. - (HandlePacket_H): Return OK if target is not yet running. - (HandlePacket_q): Return PID of 0 if target is not yet running. - * testremotenub.cpp (RNBRunLoopGetArgsFromRemote): Implement. - (RNBRunLoopLaunchInferior): Fetch arguments from context. - (main) Store arguments in context, call RNBRunLoopGetArgsFromRemote - if appropriate. |
