Add a command that dumps the QML stack. It tries to find
the address of the JS execution context in a complete stack
trace and calls the exported function in QML to create the
trace from it.
Task-number: QTCREATORBUG-11144
Change-Id: I8fef5df2b33b95748e78d837aba703945eaeead9
Reviewed-by: David Schulz <david.schulz@digia.com>
Use RAI instead of manual bookkeeping when temporarily blocking
the state notifications of the extension context.
Change-Id: I991a3f0ddc578058f6bce173b4fc68ce567627ab
Reviewed-by: David Schulz <david.schulz@digia.com>
#!/usr/bin/env ruby
Dir.glob('**/*.cpp') { |file|
# skip ast (excluding paste, astpath, and canv'ast'imer)
next if file =~ /ast[^eip]|keywords\.|qualifiers|preprocessor|names.cpp/i
s = File.read(file)
next if s.include?('qlalr')
orig = s.dup
s.gsub!(/\n *if [^\n]*{\n[^\n]*\n\s+}(\s+else if [^\n]* {\n[^\n]*\n\s+})*(\s+else {\n[^\n]*\n\s+})?\n/m) { |m|
res = $&
if res =~ /^\s*(\/\/|[A-Z_]{3,})/ # C++ comment or macro (Q_UNUSED, SDEBUG), do not touch braces
res
else
res.gsub!('} else', 'else')
res.gsub!(/\n +} *\n/m, "\n")
res.gsub(/ *{$/, '')
end
}
s.gsub!(/ *$/, '')
File.open(file, 'wb').write(s) if s != orig
}
Change-Id: I3b30ee60df0986f66c02132c65fc38a3fbb6bbdc
Reviewed-by: hjk <qthjk@ovi.com>
Add a command to list breakpoints enabling id access.
Implemented breakpoint handling similar to gdb using breakpoint
ids (no longer delete and re-set all breakpoints on a change).
Save the module that is reported back in the session so that
it can be re-used for the next start. Keep a per-debugger-session
cache of fileName->Module for adding breakpoints to accelerate
setting breakpoints in the same file.
Polish the breakpoint tooltip.
in stopped state. Add helper for executing calls
to ExtensionContext including recording of output in
OutputCallback. Extend symbol resolution to return addresses
as well since QApplication::widgetAt() is ambiguous and needs
to be called by address. Add 'widgetat' extension command
to return the widget.
- Move the 'current module' into the Node
- Split symbol group hierarchy into LocalsSymbolGroup
tied to frame/thread and a separate, scopeless
WatchesSymbolGroup
- Add infrastructure for removing symbols from a SymbolGroup,
doing the index bookkeeping.
- Add method to synchronize watches to WatchesSymbolGroup
(iname/name map).
- Introduce watches commands for adding and dumping.
- Extend locals command to get watches as well.
- Add a dummy 'ErrorSymbolGroupNode' to use in case
insertion fails.