With QT_RESTRICTED_CAST_FROM_ASCII making GdbMi etc operate on
QString is feasible again. Take this as opportunity to move
debugger encoding handling closer to a 'conversion on input and
output if needed, storage in QString only' scheme.
Change-Id: I2f10c9fa8a6c62c44f4e6682efe3769e9fba30f7
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
There seems to be systems producing non-ASCII error messages when
running this in directories with non-ASCII characters. Since we
won't be able to workaround, silence the error to not disturb
further operation.
Change-Id: I527ce10c062273d2f4928f2a8fab79b704de067b
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Nowadays, the [property] section contains only "top level" properties,
inherited ones are available through by expanding the base class.
Task-number: QTCREATORBUG-15798
Change-Id: I40475500a2d20f27145a47fa7ed1e61d4a592c10
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
map() directly returned a list in python 2.
Fixes a startup issue on windows.
Change-Id: Ib4b67ca98a74135ff108546f8d089686f7df9493
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Helpful when inspecting staticMetaObjects.
Change-Id: I32fa0797625a675a7bad7f470ed51232734de826
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Useful for debugging 'New Project' type wizards.
Change-Id: Icabb4610e34a876b814965ed2b0d3017b5352878
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
The inferior calls to rowCount() and columnCount() used to create
data() display are troublesome when debugging an actual
issue with item models and not too helpful otherwise. People needing
that information can still evaluate idx.data() etc manually.
Change-Id: If736afbf8fc44cf28e7f07e5f2c3b039a2f4984c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
The inferior calls to rowCount() and columnCount() used to create
the "n x m" "nice" display are troublesome when debugging an actual
issue with item models and not too helpful otherwise. People needing
that information can still evaluate m->rowCount() etc manually.
Change-Id: I3a3feed6aab19096ab01bc91c488de5fcbd732d7
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Saves one level of expansion when looking at containers.
Change-Id: I4d43af2fb0dd0e9d493a12335d6b8b541e741ecf
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
The type info is not directly accessible to the debugger. The workaround
used so far generally works for initialized data, but can force loading
all debug information otherwise. The behavior is exceptionally bad
for LLDB 3.7 with GCC 5.x/C++14 due DW_TAG_base_type 'auto' encoded with
DW_ATE = 0x0, bit_size = 0 produced by GCC and not understood by LLDB.
Change-Id: I2b28b8a6aa15751c8e797bcbf501b81622680596
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Commands needs to be given in Python, i.e. something like
import time
print time.asctime()
for i in range(1, 10):
print(i)
works.
Task-number: QTCREATORBUG-15585
Change-Id: I7724617e4bbe85a717ae78b21014e2b55c4089c8
Reviewed-by: Alexandru Croitor <alexandru.croitor@theqtcompany.com>
Reviewed-by: hjk <hjk@theqtcompany.com>
They may contain quotes and possibly other data breaking the transport
protocol.
Change-Id: I53795bd1de54385e8d9c50088368fdc768db217b
Task-number: QTCREATORBUG-15635
Reviewed-by: Alexandru Croitor <alexandru.croitor@theqtcompany.com>
Reviewed-by: hjk <hjk@theqtcompany.com>
Easier to coordinate between dumpers and watchhandler
Change-Id: Ide191a5786dc04ef22c3e9c8b0bec39f8f8c0f1d
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Individual dumpers can override. User accessible gui to be done...
Change-Id: Idf81dab11f810b43fc6721cbb37d12a1365a8634
Task-number: QTCREATORBUG-16021
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
It was there for GDB at a time, but never for the other backends.
Fix the GDB regression and make the sorting consistent across
backends.
Task-number: QTCREATORBUG-15296
Change-Id: If728c65f0c8ca4a8378c7cf5e53f1dadbfb72b29
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Backends only have to specify whether an object members are sortable
in principle (e.g. all structs), and some numeric 'sortgroup' value
for member items (higher values are always sorted on top).
Change-Id: I10ce94580374fed48a35f058a575a1408d6801af
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
The pattern is given as (unused) default value of a third
parameter of the dump__* functions.
Change-Id: Ia9092427c240f2198acd00267cd136a3becc71b6
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
Pointers often don't have an address at all, or have the pointer's
address instaed of the target address.
For example:
int main()
{
char str[11] = "HelloWorld";
char *s1 = str; // s1 shows its own address
}
Change-Id: I2436578c073a00a3fec9411ef7ec82ae4e63a8b0
Reviewed-by: hjk <hjk@theqtcompany.com>
LLDB 3.8 on Linux claims non-existent files to be the source of
disassembly.
Change-Id: I45a47cf5e7faad7ccd6dbb9879c8328fc2496b95
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>
* Update license of files loaded in debugger
* Make sure all files have a license header
Change-Id: I612885652bcae0a4b7a88ae5184ef661aee25006
Reviewed-by: hjk <hjk@theqtcompany.com>
Can happen when an array is declared as `extern Struct arr[];`
Change-Id: I7e9e0a5e73799dc29bfe6a71ad60d3d51a709cef
Reviewed-by: hjk <hjk@theqtcompany.com>
At least on Linux/LLDB 3.8 trying to set watchpoints at fixed address
produces breakpoints with .IsValid() == False that choke on accessing
certain functions like .IsOneShot() used e.g. in breakpoint data
reporting.
Now report the .IsValid() state and skip the reporting of the "bad"
fields.
Change-Id: I742ed171f37763f3dbbd896173c527817edf3a6e
Reviewed-by: Alexandru Croitor <alexandru.croitor@theqtcompany.com>
Reviewed-by: Christian Stenger <christian.stenger@theqtcompany.com>