I just analyzed a crash dump were I needed to investigate a dynamically allocated a array.
We have a declaration:
CString **ids;
the allocation
ids = new CString*[size];
Given a size of 8 you can dump the content of the string array with dt -a<size> <address> <type>:
0:000> dv ids
ids = 0x06314ec0
0:000> dt -a8 0x06314ec0 CString*
[0] @ 06314ec0
---------------------------------------------
0x0633f520
+0x000 m_pszData : 0x062b7d58 "string 1"
[1] @ 06314ec4
---------------------------------------------
0x062b7278
+0x000 m_pszData : 0x785039c0 ""
[2] @ 06314ec8
---------------------------------------------
0x0638b8b0
+0x000 m_pszData : 0x06373958 "string 2"
[3] @ 06314ecc
---------------------------------------------
0x06373b10
+0x000 m_pszData : 0x06301dc8 "string 3"
[4] @ 06314ed0
---------------------------------------------
0x06338780
+0x000 m_pszData : 0x785039c0 ""
[5] @ 06314ed4
---------------------------------------------
0x06350a00
+0x000 m_pszData : 0x785039c0 ""
[6] @ 06314ed8
---------------------------------------------
0x0637e2f8
+0x000 m_pszData : 0x785039c0 ""
[7] @ 06314edc
---------------------------------------------
0x0633f598
+0x000 m_pszData : 0x785039c0 ""