cómo usar windbg averiguar SqlConnection.ConnectionString?
Pregunta
Puedo usar "! do " para volcar la instancia de SqlConnection pero no estoy seguro de cómo averiguar su ConnectionString:
0:018> !do 2fa7730
Name: System.Data.SqlClient.SqlConnection
MethodTable: 000007fef4455968
EEClass: 000007fef42b6530
Size: 104(0x68) bytes
(C:\Windows\assembly\GAC_64\System.Data\2.0.0.0__b77a5c561934e089\System.Data.dll)
Fields:
MT Field Offset Type VT Attr Value Name
000007fef80ee580 400018a 8 System.Object 0 instance 0000000000000000 __identity
000007fef7558ff0 40008cc 10 ...ponentModel.ISite 0 instance 0000000000000000 site
000007fef75888d8 40008cd 18 ....EventHandlerList 0 instance 0000000000000000 events
000007fef80ee580 40008cb 210 System.Object 0 static 0000000002769b58 EventDisposed
000007fef4966d98 4000be5 20 ...hangeEventHandler 0 instance 0000000000000000 _stateChangeEventHandler
000007fef49789e0 400172c 28 ...t.SqlDebugContext 0 instance 0000000000000000 _sdc
000007fef80ede60 400172d 58 System.Boolean 1 instance 0 _AsycCommandInProgress
000007fef445c100 400172e 30 ...ent.SqlStatistics 0 instance 0000000000000000 _statistics
000007fef80ede60 400172f 59 System.Boolean 1 instance 0 _collectstats
000007fef80ede60 4001730 5a System.Boolean 1 instance 0 _fireInfoMessageEventOnUserErrors
000007fef4459458 4001733 38 ...ConnectionOptions 0 instance 0000000002fa7798 _userConnectionOptions
000007fef4458b68 4001734 40 ...nnectionPoolGroup 0 instance 0000000002fa7b28 _poolGroup
000007fef44596a0 4001735 48 ...onnectionInternal 0 instance 0000000002fa9130 _innerConnection
000007fef80f5f00 4001736 50 System.Int32 1 instance 0 _closeCount
000007fef80f5f00 4001738 54 System.Int32 1 instance 8863 ObjectID
000007fef80ee580 400172b f30 System.Object 0 static 00000000027885a8 EventInfoMessage
000007fef4458860 4001731 f38 ...ConnectionFactory 0 static 00000000027885c0 _connectionFactory
000007fef80f5658 4001732 f40 ...eAccessPermission 0 static 000000000278f910 ExecutePermission
000007fef80f5f00 4001737 9c0 System.Int32 1 static 16803 _objectTypeCount
Solución
pruebe el depurador de Visual Studio 2008, depure un programa que use SqlConnection;
encuentre la instancia de SqlConnection de la manera que prefiera (podría ser var local, o campos de instancia o campos estáticos ...).
verlo en la ventana Watch. expanda todos los nodos secundarios expandibles, hasta que encuentre lo que desea (como puedo recordar, almacena partes como servidor, base de datos, ID de usuario, contraseña, etc.)
registre la ruta de acceso a estos campos, luego use windbg para ir al mismo campo.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow