I'm debugging a Qt App and trying to view QT string object data within debugger. I'm referring to this blog which shows how to do that however ,i dont have access to source code. windbg lacks the ability to display basic QT data. In windbg I want to see what all QtStrings are being passed to any Qt-API.
In following disassembly string object returned by toString() are being passed to setHttpUserAgent API, arguments are placed on rcx and rdx registers. I want to view those strings in windbg / any debugger.
.text:00000001400424CC lea rdx, [rbp+57h+var_90] .text:00000001400424D0 mov rcx, rax .text:00000001400424D3 call cs:?toString@QVariant@@QEBA?AVQString@@XZ ; QVariant::toString(void) .text:00000001400424D9 nop .text:00000001400424D9 ; } .text:00000001400424DA mov rdx, rax .text:00000001400424DD mov rcx, r14 .text:00000001400424E0 call cs:?setHttpUserAgent@QWebEngineProfile@@QEAAXAEBVQString@@@Z ; QWebEngineProfile::setHttpUserAgent(QString const &) .text:00000001400424E6 nop .text:00000001400424E6 ; }
To do this i believe i need to have better understanding of Qt string's memory layout. If there is any document which can help me figure that out please let me know.
Thanks in Advance.