CMDebug and TCC.EXE

#1
I am trying to debug this .CMD file, available from https://ss64.com/nt/bigtext.cmd.txt

When I do;
Code:
bdebugger bigtext.cmd Saturday
from;
Code:
TCC  21.01.53 x64   Windows 7 [Version 6.1.7601]
TCC Build 53   Windows 7 Build 7601  Service Pack 1
I can step through and debug bigtext.cmd

When I try to debug using;
Code:
cmdebug bigtext.cmd Saturday
...CMDebug v21.01.53 x64, it stops at
Code:
TCC: (Sys) X:\utils\bigtext.cmd [26]  The system cannot find the file specified.
 "C:\Program Files\JPSoft\CMDebug21\TCC.EXE"

  ###
 #
 #
  ##
    #
    #
 ###
There is no TCC.EXE in the CMDebug 21 directory;
Code:
[C:\Program Files\JPSoft\CMDebug21]dir

 Volume in drive C is WINDOWS      Serial number is d4a0:ca4b
 Directory of  C:\Program Files\JPSoft\CMDebug21\*

10/05/2017  15:13         <DIR>    .
10/05/2017  15:13         <DIR>    ..
10/05/2017  15:13         <DIR>    Styles
 9/25/2017   9:28         147,560  ANSI32.dll
 9/25/2017   9:28         173,672  ANSI64.dll
12/07/2016  18:13          41,576  BorlndMM.dll
 8/26/2017  10:24       2,458,915  CMDebug.chm
 8/29/2017   7:52         261,052  cmdebug.chw
 9/11/2017  15:58               2  CMDebug.exception.log
 9/24/2017  12:28       7,009,384  CMDebug.exe
 9/25/2017   9:21       2,045,032  English.dll
 9/24/2017  12:27         956,520  EnglishD.dll
 6/12/2017  21:58       2,197,608  Everything.exe
 7/29/2017  15:23             215  Everything.ini
 6/12/2017  21:56         558,140  Everything.lng
 2/28/2017  10:51          92,264  Everything64.dll
12/07/2016  18:14           2,619  everything_license.txt
 9/25/2017   9:29       2,099,816  French.dll
 9/24/2017  12:27         973,928  FrenchD.dll
 9/25/2017   9:29       2,090,600  German.dll
 9/24/2017  12:27         983,144  GermanD.dll
 8/24/2017  21:52       3,159,248  ipworks16.dll
 8/24/2017  23:58       1,573,072  ipworksssh16.dll
 3/30/2017  16:29       1,214,312  IsLicense50.dll
 9/25/2017   9:29       2,084,968  Italian.dll
 9/24/2017  12:27         975,976  ItalianD.dll
 4/05/2017   9:02           8,589  license.txt
 9/25/2017   9:21         508,008  Lua53.dll
 8/25/2017  18:26          53,760  NSILP_PowerShell.x64.dll
 8/23/2017  20:48           6,697  readme.txt
10/05/2017  15:13           1,430  regid.2002-09.com.jpsoft_CMDebug 21.swidtag
 9/25/2017   9:29       2,159,208  Russian.dll
 9/24/2017  12:27         966,248  RussianD.dll
 8/23/2017  17:19       1,621,096  SciLexer.dll
 9/25/2017   9:29       2,096,232  Spanish.dll
 9/24/2017  12:27         973,928  SpanishD.dll
12/07/2016  18:15         460,904  stdvcl40.dll
 9/24/2017  12:21       5,888,104  takecmd.dll
 9/21/2017  22:54           1,644  takecmd.tlb
 1/20/2016  12:34       9,146,496  textpipeengine.dll
 7/28/2017  17:51           1,952  textpipeengine.dll.manifest
 9/25/2017   9:31         156,264  TPipe.exe
 9/27/2017  21:04       1,280,616  updater.exe
10/05/2017  15:13             391  updater.ini
          56,431,190 bytes in 41 files and 3 dirs    56,537,088 bytes allocated
?????

Joe
 
#2
That line has a pipe in it, so it will try to start an instance of (some) TCC. I think Rex said in another recent thread that %COMSPEC was involved in doing that. You might figure out what %COMSPEC is while debugging, and look for Rex's remarks.
 
#4
P.S., The result looks better under CMD than under TCC.
View attachment 1666
Yeah, that's why I was trying to debug it, to see why it works under CMD, but not under TCC.

BTW, I added echo %comspec% to the beginning of the .CMD file, and it returns
Code:
C:\Program Files\JPSoft\TCC21\TCC.EXE
Rex says that CMDebug has it's own internal version of TCC, which is what it is using, so not sure what is going on.

Joe
 

rconn

Administrator
Staff member
May 14, 2008
10,588
97
#5
Wow, that batch file is ... just awful. The author managed to find (yet another) SET undocumented feature / bug to do something clumsily that he could have done with documented syntax. The good news is this batch turned up another SET parser in CMD that I was unaware of. (The count is now up to three.)

I waffled on whether to support this, but eventually held my nose and added it to 21.01.55.