]> git.proxmox.com Git - mirror_edk2.git/blobdiff - InOsEmuPkg/Unix/GdbRun
Clarify the requirements for the Destination parameter of UnicodeStrToAsciiStr.
[mirror_edk2.git] / InOsEmuPkg / Unix / GdbRun
index cf4ca7fe5ae609a4d323fdcbed93feecea8f25b2..428e6556317d79e1e318089a0e0f01b851a37b2e 100644 (file)
@@ -27,11 +27,53 @@ set $_exitcode = 42
 define hook-stop
   if $_exitcode != 42
     quit
+  else
+    source SecMain.gdb
   end
 end
 
 #
-# Start the program running
+# We keep track of the number of symbol files we have loaded via gdb
+# scripts in the $SymbolFilesAdded variable
 #
-run
+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