BUpdated build files.
"{ Package: 'jv:libgdbs' }"
"{ NameSpace: Smalltalk }"
GDBProcess subclass:#GDBUnixProcess
instanceVariableNames:''
classVariableNames:'GDBExecutable'
poolDictionaries:''
category:'GDB-Private'
!
!GDBUnixProcess class methodsFor:'accessing'!
gdbExecutable
^ GDBExecutable
"Created: / 01-03-2015 / 08:07:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
gdbExecutable: aString
GDBExecutable := aString
"Created: / 01-03-2015 / 08:07:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!GDBUnixProcess methodsFor:'initialization'!
initialize
| inputPipe input outputPipe output args |
inputPipe := NonPositionableExternalStream makePipe.
input := inputPipe second.
outputPipe := NonPositionableExternalStream makePipe.
output := outputPipe first.
args := { GDBExecutable ? '/usr/bin/gdb' . '-q' . '-nx' . '--interpreter' . 'mi2' }.
Processor
monitor:[
pid := OperatingSystem
exec:args first
withArguments:args
environment:OperatingSystem getEnvironment
fileDescriptors:{
inputPipe first fileDescriptor.
outputPipe second fileDescriptor.
outputPipe second fileDescriptor
}
fork:true
newPgrp:false
inDirectory:Filename currentDirectory.
debuggerInput := input.
debuggerOutput := output.
pid.
]
action:[:stat | self exited:stat. ].
inputPipe first close.
outputPipe second close.
pid isNil ifTrue:[
input close.
output close.
self error:'Failed to launch gdb'.
].
"Modified: / 01-03-2015 / 08:06:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!GDBUnixProcess class methodsFor:'documentation'!
version_HG
^ '$Changeset: <not expanded> $'
! !