Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

building debug version of indy9 and bcb6

12 views
Skip to first unread message

Andreas Malzahn

unread,
Sep 2, 2002, 7:40:20 AM9/2/02
to
i want to build a debug version of the indy9 components such that I can step
into these with the debugger ..
which options do I have to set in the fullc6.bat script? I tried changing
the Options for the DCC32.exe to -$d+.., but no success.

did anyone did this already?

There is also no description of the command line parameters of DCC32.exe in
the Help. Where can I find this?

Thanks, Andreas


Chuck Smith

unread,
Sep 3, 2002, 11:18:13 AM9/3/02
to
you will have to modify your fullc6 bat file to not "clean up" the .objs,
.pas, etc files from the c6 directory. you will also need to add dcc32
compiler flags ie
%NDC6%\bin\dcc32.exe dclIndy50.dpk /DBCB /O..\Source\objs /DD_DEBUG /H /W
/N..\C6 /LIndy60 %2 %3 %4

you will also have to add the indy\c6 source to you project directories


"Andreas Malzahn" <amal...@fast-media-integrations.com> wrote in message
news:al081k$uld$04$2...@news.t-online.com...

Andreas Malzahn

unread,
Sep 3, 2002, 3:22:32 PM9/3/02
to
thanks for the ideas, but it does not work .. i changed the fillc6.bat (see
end of message), but not debug info ..
i changed:
- DCC32 compiler options: /D_DEBUG /DD_DEBUG -$d+l+n+p+r+s-t+w+y+c+i+q+x+o-
- skip file cleanup at end of script

any more ideas??
perhaps the BCC version of dcc32 connot create debug info or BCB does not
use it?

Thanks, Andreas

"Chuck Smith" <csm...@1sas.com> wrote in message
news:3d74...@newsgroups.borland.com...


> you will have to modify your fullc6 bat file to not "clean up" the .objs,
> .pas, etc files from the c6 directory. you will also need to add dcc32
> compiler flags ie
> %NDC6%\bin\dcc32.exe dclIndy50.dpk /DBCB /O..\Source\objs /DD_DEBUG /H /W
> /N..\C6 /LIndy60 %2 %3 %4
>
> you will also have to add the indy\c6 source to you project directories

.
.
.==================================================================
@echo off

if (%1)==() goto test_command
if (%1)==(start) goto start
goto endok

:test_command
if (%COMSPEC%)==() goto no_command
%COMSPEC% /E:9216 /C %0 start %1 %2 %3
goto endok

:no_command
echo No Command Interpreter found
goto endok

:start
call clean.bat
computil SetupC6
if exist setenv.bat call setenv.bat
if not exist ..\C6\*.* md ..\C6 >nul
if exist ..\C6\*.* call clean.bat ..\C6\
if (%NDC6%)==() goto enderror
if (%NDWINSYS%)==() goto enderror

copy *.pas ..\C6
copy *.dpk ..\C6
copy *.obj ..\C6
copy *.inc ..\C6
copy *.res ..\C6
copy *.dcr ..\C6
copy *.rsp ..\C6

if (%NDC6%)==() goto enderror
if (%NDWINSYS%)==() goto enderror

set OPTIONS=-$d+l+n+p+r+s-t+w+y+c+i+q+x+o-
set OPTIONS1=/D_DEBUG /DD_DEBUG

cd ..\C6
REM ***************************************************
REM Compile Runtime Package Indy60
REM ***************************************************
REM IdCompressionIntercept can never be built as part of a package. It has
to be compileed separately
REM due to a DCC32 bug.
%NDC6%\bin\dcc32.exe IdCompressionIntercept.pas /O..\Source\objs /DBCB
%OPTIONS1% /M /H /W /JPHN %OPTIONS% %2 %3 %4

%NDC6%\bin\dcc32.exe Indy60.dpk /O..\Source\objs /DBCB %OPTIONS1% /M /H /W
/JPHN %OPTIONS% %2 %3 %4
if errorlevel 1 goto enderror
%NDC6%\bin\dcc32.exe IdDummyUnit.pas /LIndy60.dcp /DBCB /O..\Source\objs
%OPTIONS1% /M /H /W /JPHN %OPTIONS% %2 %3 %4
if errorlevel 1 goto enderror
del IdDummyUnit.dcu >nul
del IdDummyUnit.hpp >nul
del IdDummyUnit.obj >nul

%NDC6%\bin\dcc32.exe Indy60.dpk /M /DBCB /O..\Source\objs %OPTIONS1% /H /W
%OPTIONS% %2 %3 %4
if errorlevel 1 goto enderror
copy Indy60.bpl %NDWINSYS% >nul
del Indy60.bpl > nul

REM ***************************************************
REM Create .LIB file
REM ***************************************************
echo Creating Indy60.LIB file, please wait...
%NDC6%\bin\tlib.exe Indy60.lib /P32 @IndyWin32.rsp >nul
if exist ..\C6\Indy60.bak del ..\C6\Indy60.bak >nul

REM ***************************************************
REM Compile Design-time Package RPDT30
REM ***************************************************
%NDC6%\bin\dcc32.exe dclIndy60.dpk /DBCB /O..\Source\objs %OPTIONS1% /H /W
/N..\C6 /LIndy60.dcp %OPTIONS% %2 %3 %4
if errorlevel 1 goto enderror
goto endok

REM ***************************************************
REM Clean-up
REM ***************************************************
del dclIndy60.dcu >nul
del dclIndy60.dcp >nul
del Indy60.dcu >nul
del *.pas > nul
del *.dpk > nul
del *.inc > nul
del *.dcr > nul
del *.rsp > nul
REM ***************************************************
REM Design-time only unit .DCU's are not needed.
REM ***************************************************
if exist IdAbout.dcu del IdAbout.dcu >nul
if exist IdDsnBaseCmpEdt.dcu del IdDsnBaseCmpEdt.dcu >nul
if exist IdDsnPropEdBinding.dcu del IdDsnPropEdBinding.dcu >nul
if exist IdDsnRegister.dcu del IdDsnRegister.dcu >nul
if exist IdRegister.dcu del IdRegister.dcu >nul

goto endok
:enderror
call clean
echo Error!
:endok
cd ..\Source

Chuck Smith

unread,
Sep 6, 2002, 12:38:51 AM9/6/02
to
> did anyone did this already?


Here's my fullc6d.bat for debugging Indy in CBuilder 6

the no-debug indy60.bpl is only about 1meg but it is over 3meg when the
debug options are turned on ....

you have to include the indy9\c6 directory in the debug source path under
project options. I also turn off the RTL and the Build with Packages and
turn Full Debug on.

Good Luck
//////////////////////////////////////////////
@echo off

if (%1)==() goto test_command
if (%1)==(start) goto start
goto endok

:test_command
if (%COMSPEC%)==() goto no_command
%COMSPEC% /E:9216 /C %0 start %1 %2 %3
goto endok

:no_command
echo No Command Interpreter found
goto endok

:start
rem call clean.bat


computil SetupC6
if exist setenv.bat call setenv.bat
if not exist ..\C6\*.* md ..\C6 >nul

rem if exist ..\C6\*.* call clean.bat ..\C6\

if exist adler32.obj goto objdo
goto objdone
:objdo
md objs
copy /y adler32.obj objs
copy /y deflate.obj objs
copy /y infblock.obj objs
copy /y infcodes.obj objs
copy /y inffast.obj objs
copy /y inflate.obj objs
copy /y inftrees.obj objs
copy /y infutil.obj objs
copy /y trees.obj objs
:objdone

if (%NDC6%)==() goto enderror
if (%NDWINSYS%)==() goto enderror
copy *.pas ..\C6
copy *.dpk ..\C6
copy *.obj ..\C6
copy *.inc ..\C6
copy *.res ..\C6
copy *.dcr ..\C6
copy *.rsp ..\C6

if (%NDC6%)==() goto enderror
if (%NDWINSYS%)==() goto enderror

cd ..\C6


REM ***************************************************
REM Compile Runtime Package Indy60
REM ***************************************************
REM IdCompressionIntercept can never be built as part of a package. It has
to be compileed separately
REM due to a DCC32 bug.

%NDC6%\bin\dcc32.exe IdCompressionIntercept.pas /O..\Source\objs /DBCB /M /H
/W /V /JPHNE %2 %3 %4

%NDC6%\bin\dcc32.exe Indy60.dpk /O..\Source\objs /DBCB /D_DEBUG /M /H /W /V
/JPHNE %2 %3 %4


if errorlevel 1 goto enderror

%NDC6%\bin\dcc32.exe IdDummyUnit.pas /LIndy60.dcp /DBCB /D_DEBUG
/O..\Source\objs /M /H /W /V /JPHNE %2 %3 %4


if errorlevel 1 goto enderror

%NDC6%\bin\dcc32.exe Indy60.dpk /M /DBCB /O..\Source\objs /DD_DEBUG /H /W /V


%2 %3 %4
if errorlevel 1 goto enderror
copy Indy60.bpl %NDWINSYS% >nul

REM ***************************************************


REM Create .LIB file
REM ***************************************************
echo Creating Indy60.LIB file, please wait...

%NDC6%\bin\tlib.exe Indy60.lib /P32 @IndyWin32.rsp > tmp.txt

REM ***************************************************
REM Compile Design-time Package RPDT30
REM ***************************************************

%NDC6%\bin\dcc32.exe dclIndy60.dpk /DBCB /O..\Source\objs /DD_DEBUG /H /W


/N..\C6 /LIndy60 %2 %3 %4

if errorlevel 1 goto enderror

REM ***************************************************
REM Clean-up
REM ***************************************************


REM Design-time only unit .DCU's are not needed.
REM ***************************************************

goto endok
:enderror
rem call clean

Andreas Malzahn

unread,
Sep 10, 2002, 11:07:04 AM9/10/02
to
Thanks Chuck, this works!!

the only thing I don't understand is that you use sometimes /D_DEBUG and
sometimes /DD_DEBUG
Is this a typo or intended? It seems not important anyway.

Thanks again, Andreas

"Chuck Smith" <csm...@1sas.com> wrote in message

news:3d78...@newsgroups.borland.com...
.


> %NDC6%\bin\dcc32.exe Indy60.dpk /O..\Source\objs /DBCB /D_DEBUG /M /H /W
/V

.


> %NDC6%\bin\dcc32.exe Indy60.dpk /M /DBCB /O..\Source\objs /DD_DEBUG /H /W
/V

.


0 new messages