Просмотр данных объекта строки QT в Windbg - PullRequest
0 голосов
/ 05 мая 2020

Я отлаживаю приложение 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. Если есть какой-либо документ, который может помочь мне в этом разобраться, дайте мне знать.

Заранее спасибо.

...