1. 24 1月, 2016 1 次提交
  2. 18 1月, 2016 1 次提交
    • A
      service/locations: hooked expression evaluator to location specifiers · 70cbbdc0
      aarzilli 提交于
      Location specifiers starting with '*' can be followed by any
      expression supported by the evaluator.
      The expression should evaluate to either an integer (which will be
      interpreted as an address) or to a function pointer (which will be
      dereferenced to get the function's entry point).
      70cbbdc0
  3. 16 1月, 2016 1 次提交
    • A
      proc: bugfix: clearing temp breakpoints · 453bd021
      aarzilli 提交于
      Temp breakpoints should be cleared even if a non-temp breakpoint is
      triggered on the same goroutine that the temp breakpoints are set on.
      
      Fixes #305
      453bd021
  4. 10 1月, 2016 4 次提交
    • A
      proc/variables: prefetch of target process memory · b839eda2
      aarzilli 提交于
      Prefetch the entire memory of structs and arrays and cache it instead
      of issuing readMemory calls only when we get down to primitive types.
      This reduces the number of system calls to ptrace that variables makes.
      
      Improves performance in general, greatly improving it in some
      particular cases (involving large structs).
      
      Benchmarks without prefetching:
      	BenchmarkArray-4         	      10	 132189944 ns/op	   0.06 MB/s
      	BenchmarkArrayPointer-4  	       5	 202538503 ns/op	   0.04 MB/s
      	BenchmarkMap-4           	     500	   3804336 ns/op	   0.27 MB/s
      	BenchmarkGoroutinesInfo-4	      10	 126397104 ns/op
      	BenchmarkLocalVariables-4	     500	   2494846 ns/op
      
      Benchmarks with prefetching:
      	BenchmarkArray-4         	     200	  10719087 ns/op	   0.76 MB/s
      	BenchmarkArrayPointer-4  	     100	  11931326 ns/op	   0.73 MB/s
      	BenchmarkMap-4           	    1000	   1466479 ns/op	   0.70 MB/s
      	BenchmarkGoroutinesInfo-4	      10	 103407004 ns/op
      	BenchmarkLocalVariables-4	    1000	   1530395 ns/op
      
      Improvement factors:
      	BenchmarkArray				12.33x
      	BenchmarkArrayPointer		16.97x
      	BenchmarkMap					 2.59x
      	BenchmarkGoroutinesInfo		 1.22x
      	BenchmarkLocalVariables		 1.63x
      b839eda2
    • A
      proc: fix 2 typos · 32a0c752
      aarzilli 提交于
      32a0c752
    • D
      misc: cleanup and documentation · 0188dc2c
      Derek Parker 提交于
      0188dc2c
    • A
      proc/variables: bugfix: infinite loading loop through maps · 6d50aba7
      aarzilli 提交于
      Fixes #341
      6d50aba7
  5. 19 12月, 2015 1 次提交
  6. 16 12月, 2015 5 次提交
  7. 07 11月, 2015 4 次提交
  8. 04 11月, 2015 1 次提交
    • A
      proc: Implements expression interpreter · 43b64ec3
      aarzilli 提交于
      Supported operators:
      
      - All (binary and unary) operators between basic types except <-,
      ++ and -- (includes & to take the address of an expression)
      - Comparison operators between supported compound types
      - Typecast of integer constants into pointer types
      - struct members
      - indexing of arrays, slices and strings
      - slicing of arrays, slices and strings
      - pointer dereferencing
      - true, false and nil constants
      
      Implements #116, #117 and #251
      43b64ec3
  9. 29 10月, 2015 2 次提交
  10. 19 10月, 2015 2 次提交
  11. 07 10月, 2015 3 次提交
  12. 02 10月, 2015 1 次提交
    • A
      proc/variables: chanRecvReturnAddress uses outdated frame info · d30221da
      aarzilli 提交于
      g.SP refers to the frame the goroutine was in the last time it was
      scheduled out. Instead of calling proc.(*Process).stacktrace directly
      we should call proc.(*Process).GoroutineStacktrace that substitutes
      fresh values retrieved from thread registers when necessary.
      This bug leads to occasional problems with `next`.
      d30221da
  13. 30 9月, 2015 1 次提交
  14. 29 9月, 2015 3 次提交
  15. 28 9月, 2015 1 次提交
  16. 20 9月, 2015 1 次提交
  17. 18 9月, 2015 2 次提交
  18. 17 9月, 2015 1 次提交
  19. 06 9月, 2015 1 次提交
  20. 10 8月, 2015 2 次提交
  21. 02 8月, 2015 1 次提交
  22. 30 7月, 2015 1 次提交