I'm trying to script basic diagnostic with lldb plugin.
However it is challenging because type names are truncated so one cannot simple search for them in output.
Note, that my terminal is wide enough to dump full name, but the name comes out truncated regardless of the terminal.
We should print out full type name always or at least in cases when terminal is wide enough. (or add option to set output width like top and other tools have)
(lldb) dumpobj 00007f50a804caf0
Name: System.Net.Sockets.Socket
MethodTable: 00007f50c7f9b938
EEClass: 00007f50c7fe80a8
Size: 96(0x60) bytes
File: /home/furt/proxy-test/bin/Debug/netcoreapp2.1/linux-x64/publish/System.Net.Sockets.dll
Fields:
MT Field Offset Type VT Attr Value Name
00007f50c80b32a8 400010c 8 ...s.SafeCloseSocket 0 instance 00007f50a804cb78 _handle
00007f50c7f9fc20 400010d 10 System.Net.EndPoint 0 instance 00007f50a80406b0 _rightEndPoint
00007f50c7f9fc20 400010e 18 System.Net.EndPoint 0 instance 0000000000000000 _remoteEndPoint
00007f50c75212e8 400010f 4c System.Boolean 1 instance 0 _isConnected
00007f50c75212e8 4000110 4d System.Boolean 1 instance 1 _isDisconnected
00007f50c75212e8 4000111 4e System.Boolean 1 instance 1 _willBlock
00007f50c75212e8 4000112 4f System.Boolean 1 instance 1 _willBlockInternal
00007f50c75212e8 4000113 50 System.Boolean 1 instance 0 _isListening
00007f50c75212e8 4000114 51 System.Boolean 1 instance 0 _nonBlockingConnectInProgress
00007f50c7f9fc20 4000115 20 System.Net.EndPoint 0 instance 0000000000000000 _nonBlockingConnectRightEndPoint
00007f50c7f9b540 4000116 38 System.Int32 1 instance 23 _addressFamily
00007f50c7f9b690 4000117 3c System.Int32 1 instance 1 _socketType
00007f50c7f9b7e0 4000118 40 System.Int32 1 instance 6 _protocolType
0000000000000000 4000119 28 ...s.Socket+CacheSet 0 instance 0000000000000000 _caches
00007f50c75212e8 400011a 52 System.Boolean 1 instance 0 _receivingPacketInformation
00007f50c7525d30 400011c 44 System.Int32 1 instance -1 _closeTimeout
00007f50c7525d30 400011d 48 System.Int32 1 instance 1 _intCleanedUp
00007f50c8198cb8 4000126 30 ...t+CachedEventArgs 0 instance 00007f50a80512d8 _cachedTaskEventArgs
00007f50c75208a8 400011b 58 System.Object 0 static 00007f50a803c660 s_internalSyncObject
00007f50c75212e8 400011e dc System.Boolean 1 static 1 s_initialized
00007f50c74d73b8 400011f 60 System.AsyncCallback 0 static 0000000000000000 s_multipleAddressConnectCallback
00007f50c80b07f0 4000120 68 ...tem.Net.Sockets]] 0 static 00007f50a803c348 AcceptCompletedHandler
00007f50c80b07f0 4000121 70 ...tem.Net.Sockets]] 0 static 00007f50a803c3a0 ReceiveCompletedHandler
00007f50c80b07f0 4000122 78 ...tem.Net.Sockets]] 0 static 00007f50a803c3e0 SendCompletedHandler
00007f50c80b10d8 4000123 80 ...tem.Net.Sockets]] 0 static 00007f50a803c420 s_rentedSocketSentinel
00007f50c80b1318 4000124 88 ...ketAsyncEventArgs 0 static 00007f50a803c518 s_rentedInt32Sentinel
00007f50c75279d8 4000125 90 ...Private.CoreLib]] 0 static 00007f50a803c618 s_zeroTask
I'm trying to script basic diagnostic with lldb plugin.
However it is challenging because type names are truncated so one cannot simple search for them in output.
Note, that my terminal is wide enough to dump full name, but the name comes out truncated regardless of the terminal.
We should print out full type name always or at least in cases when terminal is wide enough. (or add option to set output width like
topand other tools have)