Welcome to the new Woodmann RCE Messageboards Regroupment
Please be patient while the rest of the site is restored.

To all Members of the old RCE Forums:
In order to log in, it will be necessary to reset your forum login password ("I forgot my password") using the original email address you registered with. You will be sent an email with a link to reset your password for that member account.

The old vBulletin forum was converted to phpBB format, requiring the passwords to be reset. If this is a problem for some because of a forgotten email address, please feel free to re-register with a new username. We are happy to welcome old and new members back to the forums! Thanks.

All new accounts are manually activated before you can post. Any questions can be PM'ed to Kayaker.

soft ice in a VM and Windbg growing pains

Questions concerning tools (other than OllyDbg) - IDA Pro, SoftIce, member contributions, etc.
<b>NOTE:</b> You must <b>always</b> make sure you cannot find what you are looking for in our <a href="/collaborative/tools">Collaborative RCE Tool Library</a> before asking for <b>any</b> tools that can do this or that though!
WaxfordSqueers
Senior Member
Posts: 1015
Joined: Tue Apr 06, 2004 11:00 am

soft ice in a VM and Windbg growing pains

Post by WaxfordSqueers »

My new system with it's new mobo and ATI driven vid card doesn't like softice, so I bit the bullet and installed ice in a VM. It works fine, my symbols are all loaded, but when I follow my usual procedure for setting a bmsg command, ice claims the hwnd is invalid.

Normally, I fire up SPYXX, which lists all the handles for window processes running on my system. I used the HWND indicated by SPYXX in softice, in the VM, as follows:

BMSG 400BA 203

but when I hit 'Enter' it gives me the invalid handle message.

Under normal XP that was ALWAYS accepted and broke in a specific app on a double-click (WMSG 203).

I turned to Windbg to see if I could verify the hwnd, but wouldn't you know that Windows being about...guess what...windows, Windbg does not seem to have any commands to dump window's handles. It will give you any other kind of handle except a HWND.

OK...I know I'm likely doing something wrong. I am running windbg in local mode under an lkd> prompt.

I presume I am out of luck with softice and an advanced video card driver. In setup, it detects my display adapter OK and the Test button returns claiming my display adapter is OK (Universal Video Driver). But when I hit 'Apply' then OK, it insists on a reboot for Visual Softice which I am not using. After the reboot, it just keeps rebooting until I set it back to the last known good configuration.

I am wondering if anyone running softice under a VM has encounter a similar situation with it not recognizing HWNDs?

Could some kind soul, well-versed in Windbg, show me how to find a Windows handle for a process?
User avatar
Aimless
Senior Member
Posts: 869
Joined: Thu Sep 13, 2001 3:11 am

Post by Aimless »

A quickie --- have you checked your CONTEXT, before doing a BMSG?

Have Phun
Blame Microsoft, get l337 !!
blabberer
Senior Member
Posts: 1535
Joined: Wed Dec 08, 2004 11:12 am

Post by blabberer »

WaxfordSqueers wrote:show me how to find a Windows handle for a process?
you can use windbg i used cdb because it is easy to copy paste answers directly from console
the -c "g" will save you one key press and the app will run without breaking
( i forgot what but there is a command line option to ignore initial break)
win.exe is the good old iczelions tut03

C:\>cdb -c "g;" f:\masm32\icztutes\tute03\win.exe

xxxxxx cut off spew xxxxxxxxxxxxxxx

0:000> cdb: Reading initial command 'g;'

xxxxxxxxxxxxx win.exe is running here cut off spew xxxxxxxxxxxx

hit ctrl+break in windbg ctrl+c in cdb to break in

ntdll!DbgBreakPoint:
7c90120e cc int 3
0:001> ~0s change to main thread
eax=7c91930f ebx=7ffdf000 ecx=00162d80 edx=00160608 esi=0013ff60 edi=00000000
eip=7c90e514 esp=0013ff20 ebp=0013ff44 iopl=0 nv up ei pl zr na pe nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000246
ntdll!KiFastSystemCallRet:
7c90e514 c3 ret

0:000> .load sdbgext load sdbgext extension by skywing

run the command !hwnd without parameters to enumerate all the window handles of the current thread

0:000> !hwnd
Window 00100258
Name Our First Window
Class SimpleWinClass
Window 001401c2
Name M
Class MSCTFIME UI
Window 0011025a
Name Default IME
Class IME

0:000> bp user32!TranslateMessage lets confirm the handle :)
0:000> g


move the mouse over the Win Window

Breakpoint 0 hit
eax=0013ff60 ebx=7ffdf000 ecx=00000000 edx=7c90e514 esi=7c96e5df edi=00000000
eip=7e418bf6 esp=0013ff54 ebp=0013ffac iopl=0 nv up ei pl nz na po nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000202
user32!TranslateMessage:
7e418bf6 8bff mov edi,edi
0:000> dd esp l4

0013ff54 00401106 0013ff60 00100258 00100258
0:000>

lets check if it is mouse move

Code: Select all

0:000> [B]!usermsg 13ff60[/B]
hwnd:
Window    [B]00100258[/B]
Name      Our First Window
Class     SimpleWinClass
WndProc   00000000
Style     WS_OVERLAPPED
ExStyle   WS_EX_WINDOWEDGE WS_EX_LEFT WS_EX_LTRREADING WS_EX_RIGHTSCROLLBAR
HInstance 00400000
ParentWnd 00000000
Id        00000000
UserData  00000000
Unicode   FALSE
ThreadId  00000478
ProcessId 00000d4c
Message: [B]0x0200[/B]
wParam: 0
lParam: 57032f
Time: 2cb53f6
[B]pt: (929, 262)[/B]  xy co-ordinates

WaxfordSqueers
Senior Member
Posts: 1015
Joined: Tue Apr 06, 2004 11:00 am

Post by WaxfordSqueers »

Aimless wrote:A quickie --- have you checked your CONTEXT, before doing a BMSG? Have Phun
Yessir!! I would never come on here without checking that first. :devil:

Did the addr command on my app and made sure it had the star beside it. Mind you, it's doing peculiar things. Did 'table' as well. When I do addr 'app', I get the blue highlighted text telling me my ole32 nms time stamp is bad and that I should use some tools to fix it. I don't think that would affect the handle being declared invalid. Normally, I get that message when I do the 'table' command.

It's probably something dumb. I read on the Net that people have experienced that intermittently.
WaxfordSqueers
Senior Member
Posts: 1015
Joined: Tue Apr 06, 2004 11:00 am

Post by WaxfordSqueers »

blabberer wrote: 0:000> .load sdbgext load sdbgext extension by skywing

run the command !hwnd without parameters to enumerate all the window handles of the current thread
Thanks for explanation Blabs. My brain is a bit fried right now and I wont do your full post justice by trying to decipher it right now. It's good to know there is a !hwnd command, and the TranlateMessage sounds useful.

Unfortunately I am on the bad part of the Windbg learning curve right now but I had it running in the VM with softice. I have to take another look at the pipe command to see if I can get it operating between the VM and the main machine.

I have much more memory and disk space, with a dual core processor and the VM seems rock solid.
blabberer
Senior Member
Posts: 1535
Joined: Wed Dec 08, 2004 11:12 am

Post by blabberer »

put this too in your decipher queue

find explorer.exe and attach to it non invasively for getting the list of it windows in one of its thread and compare it to spyxx output


C:\>tlist | grep explorer
484 explorer.exe Program Manager

C:\>cdb -pv -p 484


*** wait with pending attach

WARNING: Process 484 is not attached as a debuggee
The process can be examined but debug events will not be received

0:000> ~ list all threads in explorer.exe
. 0 Id: 1e4.bd0 Suspend: 1 Teb: 7ffdf000 Unfrozen
********* cut off **************
13 Id: 1e4.964 Suspend: 1 Teb: 7ffa5000 Unfrozen
0:000> .load sdbgext
0:000> !hwnd
Window 00040046 Name Class tooltips_class32
Window 0002008a Name Class WorkerW
Window 0002009c Name Class DDEMLEvent
Window 00020104 Name Class DDEMLMom
Window 00040042 Name Class tooltips_class32
Window 00040040 Name Program Manager Class Progman
ChildWindow 0003006e Name Class SHELLDLL_DefView
ChildWindow 00040044 Name FolderView Class SysListView32
Window 00020076Name M Class MSCTFIME UI
Window 0002007a Name Default IME Class IME
0:000> .detach
Detached
NoTarget> q
WARNING: The debugger does not have a current process or thread
WARNING: Many commands will not work
quit:

C:\>
Attachments
allwindows.PNG
WaxfordSqueers
Senior Member
Posts: 1015
Joined: Tue Apr 06, 2004 11:00 am

Post by WaxfordSqueers »

blabberer wrote:C:\>cdb -c "g;" f:\masm32\icztutes\tute03\win.exe
thanks again for explanation. Using one of your expressions:

xxxxxx cut off spew xxxxxxxxxxxxxxx

I have done that and here is the rest of the spew from my cdb attempt in the VM:

(574.6a0): Break instruction exception - code 80000003 (first chance)
eax=7ffd9000 ebx=00000001 ecx=00000002 edx=00000003 esi=00000004 edi=00000005
eip=7c90120e esp=0359ffcc ebp=0359fff4 iopl=0 nv up ei pl zr na pe nc
cs=001b ss=0023 ds=0023 es=0023 fs=0038 gs=0000 efl=00000246
ntdll!DbgBreakPoint:
7c90120e cc int 3

0:013> .load sdbgext

The call to LoadLibrary(sdbgext) failed, Win32 error 0n14001
"This application has failed to start because the application configuration
is incorrect. Reinstalling the application may fix this problem."
Please check your debugger configuration and/or network access.

0:013> I typed quit here because I was too tired and it did not like verbosity. It accepted q instead to end the cdb session.

As you can see, there is something wrong with the sdbgext load. I downloaded the file and put sdbgext.dll in my %root%\program files\debugging tools for windows (x86)\ folder.

I have not had time yet to check out the error message but thought you might know off the top of your noggin. Maybe I'm supposed to be using windbg instead of cdb. Or maybe it's an administrator thing although I am logged into XP pro as administrator.

Question: It's a hassle typing out the entire path to debugging tools. Is there any reason I could not move the debugging tools to a simple directory, like c:\dt4w\ ?

I used to have a nifty app with which I could right click on an explorer directory and get it to open a cmd prompt right at that directory. Ring a bell?
blabberer
Senior Member
Posts: 1535
Joined: Wed Dec 08, 2004 11:12 am

Post by blabberer »

put sdbgext in winext folder in windbg installation

i dont understand the statement of typing full path

have you installed windbg to default location ? if yes starting windbg is a matter of just selecting (start->programs->debug.....\windbg shortcut ) in start menu

the shortcut is automatically added to All users (common) start menu by windbg installation

Code: Select all


C:\Documents and Settings\All Users>dir /s /b windbg*
C:\Documents and Settings\All Users\Start Menu\Programs\Debugging Tools for Wind
ows (x86)\WinDbg.lnk
C:\Documents and Settings\All Users\Start Menu\Programs\Windows Kits\Debugging T
ools for Windows (X86)\WinDbg (X86).lnk

C:\Documents and Settings\All Users>

adding cdb to this is just a matter of changing to the directory and copying an existing lnk as cdb.lnk and editing it properties to point to cdb.exe

Code: Select all


C:\Documents and Settings\All Users>cd "Start Menu\Programs\Debugging Tools for
Windows (x86)"

C:\Documents and Settings\All Users\Start Menu\Programs\Debugging Tools for Wind
ows (x86)>copy WinDbg.lnk cdb.lnk
        1 file(s) copied.

[B]right click properties edit windbg.exe to cdb.exe [/B]

if you dont want t0 move your mouse

add the installation path to your environment variable

mycomputer -> properties->advanced -> environment variables->path

add ;c:\pr.......\x86\ to existing data (notice the semicolon seperator )


or create a file name cdb.bat and put it in your c:\windows folder

and in cdb.bat

write this line
"c:\prg........\x86\cdb.exe"

and to answer your question after installation you can xcopy the whole folder from c:\pr......\x86 to where ever you fancy even to z:\mywindbghell
and windbg will work smoothly from there (remember to copy the whole folder structure as it is )
User avatar
Kayaker
Posts: 4179
Joined: Thu Oct 26, 2000 11:00 am

Post by Kayaker »

WaxfordSqueers wrote:I used to have a nifty app with which I could right click on an explorer directory and get it to open a cmd prompt right at that directory. Ring a bell?
Yup. Create *.reg, double click.

Code: Select all

REGEDIT4

[HKEY_CLASSES_ROOT\exefile\shell\Run In Dos]

[HKEY_CLASSES_ROOT\exefile\shell\Run In Dos\command]
@="C:\\WINDOWS\\system32\\cmd.exe  /k \"%1\""

[HKEY_CLASSES_ROOT\comfile\shell\Run In DOS]

[HKEY_CLASSES_ROOT\comfile\shell\Run In DOS\command]
@="C:\\WINDOWS\\system32\\cmd.exe  /k \"%1\""

Code: Select all

REGEDIT4

[HKEY_CLASSES_ROOT\Directory\shell\DosHere]
@="DOS &Prompt Here"

[HKEY_CLASSES_ROOT\Directory\shell\DosHere\command]
@="C:\\WINDOWS\\system32\\cmd.exe /k cd \"%1\""


[HKEY_CLASSES_ROOT\Drive\shell\DosHere]
@="DOS &Prompt Here"

[HKEY_CLASSES_ROOT\Drive\shell\DosHere\command]
@="C:\\WINDOWS\\system32\\cmd.exe /k cd \"%1\""


[HKEY_CLASSES_ROOT\*\shell\Dos Here]

[HKEY_CLASSES_ROOT\*\shell\Dos Here\Command]
@="C:\\WINDOWS\\system32\\cmd.exe /k"

btw, sometimes I use Iczelion's tutorial 24 mousehook app to get a window handle, if I don't need the full blown Spy++, gives the same info.

http://www.woodmann.com/RCE-CD-SITES/Ic ... tut24.html
http://win32assembly.programminghorizon.com/tut24.html


So this BMSG invalid handle message, does this happen with every handle of every app in your new VM/Sice setup, or is it just this one situation?
Elenil
Senior Member
Posts: 140
Joined: Tue Sep 30, 2008 7:53 pm

Post by Elenil »

this video card problem i really dont know what it is

1 example
asus 7800 gt -> bsod
msi 7800 gt -> all well

the thing is those 2 cards looks almost indentical in hardware only the msi logo and asus logo seems to be diffrent maybe some kind of internal settings ?



however this worked on my xp computer

cpu :p 4 3.8 ghz
ram: 4 gb ram ddr3 800 mhz
grafic card: msi 6870 gt
ati driver version
8.0.873.0 (2012)

dunno about the newer versions but i think it works

nvidia cards have this problems more often
WaxfordSqueers
Senior Member
Posts: 1015
Joined: Tue Apr 06, 2004 11:00 am

Post by WaxfordSqueers »

blabberer wrote:put sdbgext in winext folder in windbg installation
Thanks for that.
blabberer wrote:i dont understand the statement of typing full path
I know that windbg is a GUI, so I keep it as a link on my desktop, which I double-click to start. I presumed cdb was a DOS-based app which needed to be opened in a cmd window, hence the rigmarole of changing directories to the program files\debugging tools for windows (x86) directory.

I tried double clicking cdb but it just flickered a cmd window and went away.

I had to actually start a cmd window and start cdb from the DOS prompt.

blabberer wrote:and in cdb.bat

write this line
"c:\prg........\x86\cdb.exe"
I may be a bit thick but I'm not getting this part at all. How does that statement "c:\prg........\x86\cdb.exe" start cdb from a bat file?

I am not up on modern bat files but in the ones I have done years ago, you had to tell it to change directories, as in:

cd C:\pro.....\....(x86)
cdb.exe

However, that's the same as going into the c:\pf\dt4w(x86) directory and double-clicking cdb.exe.

It doesn't work. As far as I can see, you have to open a command window first. If cdb in in your environment variable path, you can just type cdb <enter> and it should open in the cmd window at any prompt, otherwise you have to change to the tools directory and do a 'cdb <enter>'.

I can see an advantage using a bat file if you have a lengthy command line argument that you use repeatedly. It would work in the situation you described in another reply for opening an exe file with cdb but each time you opened another exe, you'd have to modify the bat file.

I have never gotten into scripts but I wonder if there is a way to write a script for opening cdb so you could enter a different exe each time while keeping a complex command line argument as the basis for the script.

I am obviously answering my own question since I knew how to set up path statements in the environment block but years of brain damage prevented me from cluing in to that. :-)

All starting cdb at a cmd prompt gets me is a help file on how to do it right.

Am I confusing something? It seems that cdb, being a command line app, can only be started by typing cdb at a cmd prompt.

I have read that the other command-line debugger is equivalent to cdb with the exception that it opens it's own window. You have pointed out the advantage of cdb....that you can copy and paste from a cmd window.
WaxfordSqueers
Senior Member
Posts: 1015
Joined: Tue Apr 06, 2004 11:00 am

Post by WaxfordSqueers »

Kayaker wrote:Yup. Create *.reg, double click.

Thanks Kayaker. I just found the reg file on the Net but had not tested it since installing. Just tested it and the 'Command Prompt Here' command is in the context menu. Worked great, but thanks for the reg files. I will copy them and put them away in case I lose it again.
Kayaker wrote:btw, sometimes I use Iczelion's tutorial 24 mousehook app to get a window handle, if I don't need the full blown Spy++, gives the same info
.

Thanks for the tip. I normally only use SPYXX for a quick HWND lookup but sometimes I use it to track down a mouse click or WM_Command derivation. I have been meaning to do the Iczelion tutes and I'll look that one up.
Kayaker wrote:So this BMSG invalid handle message, does this happen with every handle of every app in your new VM/Sice setup, or is it just this one situation?
I'll have to try and see then get back to you. I only have a few apps loaded in the VM and I'll need to find one where I can look up a HWND and try it on ice.
WaxfordSqueers
Senior Member
Posts: 1015
Joined: Tue Apr 06, 2004 11:00 am

Post by WaxfordSqueers »

Elenil wrote:this video card problem i really dont know what it is
Sorry. Elenil, I missed your reply...I wasn't ignoring you.

You make a good point. I found in the past that certain nVidia drivers did not work with softice.

I am using ATI driver version 8.751.0.0. I'll try finding an earlier version. The card is an Asus EAH 3450.

Alternately, I have on-board Intel video. I could switch the display to the on-board vid driver and see if that works.
WaxfordSqueers
Senior Member
Posts: 1015
Joined: Tue Apr 06, 2004 11:00 am

Post by WaxfordSqueers »

blabberer wrote:put sdbgext in winext folder in windbg installation
Followed all your instructions to a tee.

1)double-clicking on cdb.lnk brings up a cmd window briefly then it disappears.

2)put sdbgext.dll in winext directory.

3)created environment paths to winext and added environment variable for _NT_DEBUGGER_EXTENSION_PATH = c:\PF\DT4W\winext. Of course, I wrote out the full path.

4)added Visual C++ redistribution package (2005) as recommended on sdbgext site. Was not sure whether newer version would work better.

5)Tried other debugger ntsd.exe with same result.

6)keep getting following error after .load sdbgext:

The call to LoadLibrary(sdbgext.dll) failed, win32 error 0n14001.
"This application failed to start because application configuration is incorrect. Reinstalling the application may fix this problem".

Please check your debugger configuration and/or network access.

There is mention of a tools.ini and ntsd.ini file but neither exist on my system. I have searched the entire disk with no luck.
blabberer
Senior Member
Posts: 1535
Joined: Wed Dec 08, 2004 11:12 am

Post by blabberer »

i run bat file all the time and face no problems whatsoever in fact i run several versions of cdb.exe as and when i need it and use a bat file for accessing the cdb.exe that's spread all over my disk partitions


a sample of my bat file posted below it can run two versions of cdb (6.6.7.5 version and the windows 8 6.9200 version cdb.exe) and it can take the executable path as well copy paste edit the path of cdb as per your system and put the bat file in path like "c:\windows" or in "c:\windows\system32" to experiment

also pasting the output of running the bat file for all possible path

Code: Select all

@ECHO OFF

IF "%1" == "6675" GOTO 6675
IF "%1" == "6920" GOTO 6920
IF "%1" == "" GOTO ERROR

:6920
ECHO "USING WIN8 CDB.EXE"
IF "%2" == "" GOTO ERROR
"C:\Program Files\Windows Kits\8.0\Debuggers\x86\CDB.EXE" %2
GOTO END

:6675
ECHO "USING 6.6..7.5 VERSION CDB WITH SON OF STRIKE"
IF "%2" == "" GOTO ERROR
"E:\6.6.7.5Debugging Tools for Windows\CDB.EXE" %2
GOTO END

:ERROR
ECHO "USAGE VERSIONNUMBER , PATH TO EXE"

:END
PAUSE

output of running this bat file several times from without args to semi args to right args

Code: Select all


C:\>RUNCDB  [B]no arguments passed[/B]
"USAGE VERSIONNUMBER , PATH TO EXE"
Press any key to continue . . .

C:\>RUNCDB 6675  [b] only version number passed[/b]
"USING 6.6..7.5 VERSION CDB WITH SON OF STRIKE"
"USAGE VERSIONNUMBER , PATH TO EXE"
Press any key to continue . . .

C:\>RUNCDB 6920  [b] only version number passed[/b]
"USING WIN8 CDB.EXE"
"USAGE VERSIONNUMBER , PATH TO EXE"
Press any key to continue . . .

C:\>RUNCDB 6675 F:\masm32\icztutes\tute03\win.exe  [b] 6.6.7.5 version and path to exe [/b]

[B]"USING 6.6..7.5 VERSION CDB WITH SON OF STRIKE"[/B]

[B]Microsoft (R) Windows Debugger  Version 6.6.0007.5[/B]
Copyright (c) Microsoft Corporation. All rights reserved.

CommandLine: F:\masm32\icztutes\tute03\win.exe
Symbol search path is: SRV*F:\symbols*http://msdl.microsoft.com/download/symbols

Executable search path is:

(b98.8dc): Break instruction exception - code 80000003 (first chance)
eax=00251eb4 ebx=7ffdd000 ecx=00000007 edx=00000080 esi=00251f48 edi=00251eb4
eip=7c90120e esp=0012fb20 ebp=0012fc94 iopl=0         nv up ei pl nz na po nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00000202
ntdll!DbgBreakPoint:
7c90120e cc              int     3
0:000> Q
quit:
Press any key to continue . . .  

C:\>RUNCDB 6920 F:\masm32\icztutes\tute03\win.exe  [b] 6.9200 version and path to exe [/b]

[B]"USING WIN8 CDB.EXE"[/B]

[B]Microsoft (R) Windows Debugger Version 6.2.9200.16384 X86[/B]
Copyright (c) Microsoft Corporation. All rights reserved.

CommandLine: F:\masm32\icztutes\tute03\win.exe
Symbol search path is: SRV*F:\symbols*http://msdl.microsoft.com/download/symbols


(c88.a48): Break instruction exception - code 80000003 (first chance)
eax=00251eb4 ebx=7ffdc000 ecx=00000007 edx=00000080 esi=00251f48 edi=00251eb4
eip=7c90120e esp=0012fb20 ebp=0012fc94 iopl=0         nv up ei pl nz na po nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00000202
ntdll!DbgBreakPoint:
7c90120e cc              int     3
0:000> Q
quit:
Press any key to continue . . .

C:\>

double clicking cdb flicks and disappears
yes it is a classic console app you need cmd.exe to execute it to see what it yells
running cdb.exe alone prints help and exits
again a classic console looks if there are arguments and if it found no arguments prints help and exits

Code: Select all

if (argv[1] == "") 
{
yellhelp();
die();
}
else
{

ntsd is similar to cdb but runs in its own console and can run without console too (useful for remote over network debugging )
*.ini does not exist in my system
they do not exist in any system you need to create them
you can also create several more ini like symsrv exclusions.ini that will stop looking for unavailable symbols in ms symbol server
created env for winext
is not needed just stuffing the sdbgext.dll into winext folder should be enough to use .load sdbgext (no extension only file name)
windbg /cdb / ntsd knows how to find it in winext folder

the srror no 14001 is described as some side by side error

Code: Select all

Query: 14001

0x000036B1    ERROR_SXS_CANT_GEN_ACTCTX
 The application has failed to start because its side-by-side configuration is i
ncorrect. See the application event log for more detail.
googling gets me this

http://www.stevestechspot.com/default,m ... 08-02.aspx
http://blogs.msdn.com/b/junfeng/archive ... 76314.aspx

seems to be a vc runtime redist package issue check what run time is required and install it


edit missied the .lnk part in first pass
1)double-clicking on cdb.lnk brings up a cmd window briefly then it disappears.
right click the lnk -> properties and edit the target line to make cdb open in a console you would need to enter cdb again but lnk will open the cmd.exe in right path

C:\WINDOWS\system32\cmd.exe /k "<your path>\cdb.exe"
Locked