Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Description
TTD Calls objects are used to give information about function calls that occur over the course of a trace.
Parameters
| Property | Description |
|---|---|
| Function!SymbolName | Satu atau beberapa terkandung dalam tanda kutip ganda, dipisahkan oleh koma. Misalnya dx @$cursession. TTD. Panggilan("module!symbol1", "module!symbol2", ...) |
Properties
| Property | Description |
|---|---|
| EventType | Jenis kejadian. Ini adalah "Panggilan" untuk semua objek Panggilan TTD. |
| ThreadId | ID utas OS utas yang membuat permintaan. |
| UniqueThreadId | ID unik untuk utas di seluruh jejak. ID utas reguler dapat digunakan kembali selama masa pakai proses tetapi UniqueThreadIds tidak dapat digunakan kembali. |
| Function | Nama simbolis fungsi. |
| FunctionAddress | Alamat fungsi dalam memori. |
| ReturnValue | Nilai pengembalian fungsi. Jika fungsi memiliki jenis kekosongan, properti ini tidak akan ada. |
Children
| Object | Description |
|---|---|
| Parameters[] | Array yang berisi parameter yang diteruskan ke fungsi . Jumlah elemen bervariasi berdasarkan tanda tangan jenis fungsi. |
| TimeStart | A position object that describes the position at the start of the call. |
| TimeEnd | A position object that describes the position at the end of the call. |
Remarks
Penelusuran kesalahan perjalanan waktu menggunakan informasi simbol yang disediakan dalam PDB untuk menentukan jumlah parameter untuk fungsi dan jenisnya, jenis nilai pengembalian, dan konvensi panggilan. Jika informasi simbol tidak tersedia atau simbol telah dibatasi untuk informasi simbol publik, masih dimungkinkan untuk melakukan kueri. Mesin kueri perjalanan waktu akan membuat beberapa asumsi dalam skenario ini:
- Ada empat parameter bilangan bulat yang tidak ditandatangani 64-bit ke fungsi
- Nilai yang dikembalikan adalah bilangan bulat yang tidak ditandatangani 64-bit
- Nama fungsi diatur ke string tetap: "UnknownOrMissingSymbols"
Asumsi ini memungkinkan kueri dibuat tanpa adanya informasi simbol yang memadai. Namun, untuk hasil terbaik, gunakan simbol PDB penuh jika memungkinkan.
Perhatikan bahwa fungsi Panggilan melakukan komputasi, dan tergantung pada ukuran pelacakan, dapat memakan waktu cukup lama untuk dijalankan. Penggunaan CPU akan lonjakan selama komputasi dan menonton penggunaan CPU di task manager, memberikan indikasi bahwa komputasi sedang berlangsung. Hasil kueri di-cache dalam memori sehingga kueri berikutnya terhadap panggilan yang dikueri sebelumnya secara signifikan lebih cepat.
Example Usage
Contoh ini menunjukkan objek panggilan untuk ucrtbase!initterm.
0:000> dx -r2 @$cursession.TTD.Calls("ucrtbase!initterm")
@$cursession.TTD.Calls("ucrtbase!initterm")
[0x0]
EventType : Call
ThreadId : 0x2074
UniqueThreadId : 0x2
TimeStart : 1E:5D0
TimeEnd : 2D:E
Function : ucrtbase!_initterm
FunctionAddress : 0x7ffb345825d0
ReturnAddress : 0x7ff6a521677e
Parameters
SystemTimeStart : Friday, January 12, 2024 21:18:40.799
SystemTimeEnd : Friday, January 12, 2024 21:18:44.26
See Also
Penelusuran Kesalahan Perjalanan Waktu - Pengantar objek Penelusuran Kesalahan Perjalanan Waktu