Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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 | Bir veya daha fazla virgülle ayrılmış çift tırnak içinde yer alır. Örneğin, dx @$cursession. TTD. Çağrılar("module!symbol1", "module!symbol2", ...) |
Properties
| Property | Description |
|---|---|
| EventType | Olayın türü. Bu, tüm TTD Çağrıları nesneleri için "Çağrı"dır. |
| ThreadId | İsteği yapan iş parçacığının işletim sistemi iş parçacığı kimliği. |
| UniqueThreadId | İzleme genelinde iş parçacığı için benzersiz bir kimlik. Normal iş parçacığı kimlikleri bir işlemin ömrü boyunca yeniden kullanılabilir, ancak UniqueThreadId'ler kullanılamaz. |
| Function | İşlevin sembolik adı. |
| FunctionAddress | İşlevin bellekteki adresi. |
| ReturnValue | İşlevin dönüş değeri. İşlev geçersiz bir türe sahipse, bu özellik mevcut olmaz. |
Children
| Object | Description |
|---|---|
| Parameters[] | İşleve geçirilen parametreleri içeren bir dizi. Öğe sayısı işlevin tür imzasını temel alarak değişir. |
| 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
Zaman yolculuğu hata ayıklaması, bir işlevin parametre sayısını ve bunların türlerini, dönüş değeri türünü ve çağırma kuralını belirlemek için PDB'lerde sağlanan sembol bilgilerini kullanır. Sembol bilgilerinin kullanılamaması veya sembollerin genel sembol bilgileriyle kısıtlanmış olması durumunda, sorgular yine de yapılabilir. Zaman yolculuğu sorgu altyapısı bu senaryoda bazı varsayımlarda bulunacaktır:
- İşlevde dört adet 64 bit işaretsiz tamsayı parametresi vardır
- Dönüş değeri 64 bit işaretsiz bir tamsayıdır
- İşlev adı sabit bir dizeye ayarlanır: "UnknownOrMissingSymbols"
Bu varsayımlar, yeterli sembol bilgisi olmadığında sorguların yapılmasını sağlar. Ancak, en iyi sonuçlar için mümkün olduğunda tam PDB simgelerini kullanın.
Calls işlevinin hesaplama yaptığını ve izlemenin boyutuna bağlı olarak çalıştırılmasının biraz zaman alabileceğini unutmayın. CPU kullanımı, işlem sırasında ve görev yöneticisinde CPU kullanımını izlerken ani bir artış gösterir ve hesaplamanın ilerlediğini gösterir. Sorgu sonuçları bellekte önbelleğe alınır, bu nedenle daha önce sorgulanan çağrılara karşı sonraki sorgular önemli ölçüde daha hızlıdır.
Example Usage
Bu örnekte ucrtbase!initterm için çağrı nesnesi gösterilmektedir.
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
Zaman Yolculuğu Hata Giderme - Zaman Yolculuğu Hata Giderme nesnelerine giriş