Я отлаживаю приложение Qt и пытаюсь просмотреть данные строкового объекта QT в отладчике. Я имею в виду этот блог , в котором показано, как это сделать, однако у меня нет доступа к исходному коду. Windbg не может отображать базовые данные c QT. В windbg я хочу видеть, что все QtStrings передаются в любой Qt-API.
В следующем дизассемблированном строковом объекте, возвращаемом toString (), передаются в setHttpUserAgent API, аргументы помещаются в регистры rcx и rdx. Я хочу просмотреть эти строки в 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 ; }
Для этого я считаю, что мне нужно лучше понимать структуру памяти строки Qt. Если есть какой-либо документ, который может помочь мне в этом разобраться, дайте мне знать.
Заранее спасибо.