## @file # GDB startup script # # Copyright (c) 2011, Intel Corporation. All rights reserved.<BR> # # This program and the accompanying materials # are licensed and made available under the terms and conditions of the BSD License # which accompanies this distribution. The full text of the license may be found at # http://opensource.org/licenses/bsd-license.php # # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. # ## # # Gdb will set $_exitcode when the program exits. Pre-init it to an unlikely # return value. # set $_exitcode = 42 # # Gdb will call hook-stop on each break. Check to see if $_exitcode was # changed from the value we pre-initialized it to. If so, the program # had exited, so gdb should now quit. # define hook-stop if $_exitcode != 42 quit else source Host.gdb end end # # We keep track of the number of symbol files we have loaded via gdb # scripts in the $SymbolFilesAdded variable # set $SymbolFileChangesCount = 0 # # This macro adds a symbols file for gdb # # @param $arg0 - Symbol file changes number # @param $arg1 - Symbol file name # @param $arg2 - Image address # define AddFirmwareSymbolFile if $SymbolFileChangesCount < $arg0 add-symbol-file $arg1 $arg2 set $SymbolFileChangesCount = $arg0 end end # # This macro removes a symbols file for gdb # # @param $arg0 - Symbol file changes number # @param $arg1 - Symbol file name # define RemoveFirmwareSymbolFile if $SymbolFileChangesCount < $arg0 # # Currently there is not a method to remove a single symbol file # set $SymbolFileChangesCount = $arg0 end end if gInXcode == 1 # in Xcode the program is already runing. Issuing a run command # will cause a fatal debugger error. The break point sciprt that # is used to source this script sets gInCode to 1. else # # Start the program running # run end