/*----------------------------------------------------------------------
----------------------------------------------------------------------*/
+int
+ Debug_SrcFile_PrintSrcFile_inBianryFile(
+ LibGoblin_BinaryFile *p_bfile,
+ Byte b_level )
+{
+ int i_srcid;
+ LibGoblin_SrcFile *p_srcfile;
+
+ assert( NULL != p_bfile );
+
+ printf(" BinaryFile: %s\n", p_bfile->str_filename );
+ if( 0 == p_bfile->srcfile.i_max ) {
+ printf( " (Unread .debug_line section within Src.FileTable)\n");
+ return 0x00;
+ }
+
+ for( i_srcid = 0; i_srcid < p_bfile->srcfile.i_max; i_srcid++ ) {
+ p_srcfile = SrcFile_GetSrcFile( p_bfile, i_srcid );
+ if( NULL == p_srcfile ) { continue; }
+
+ printf( " [%3d] %s/%s\n",
+ p_srcfile->i_id, p_srcfile->str_srcpath, p_srcfile->str_filename );
+ }
+
+
+ return 0x00;
+}
+
+
+/*----------------------------------------------------------------------
+----------------------------------------------------------------------*/
LIBGOBLIN_DEBUG_SRCFILE_EXTERN
int
- Debug_SrcFile_PrintSrcFileTable(
+ Debug_SrcFile_PrintSrcFileTable_inBinaryInfo(
LibGoblin_BinaryInfo *p_binfo,
Byte b_level )
{
if( 0x00 < b_level )
{ puts("[DEBUG] SrcFile Table --------------------------------------------------"); }
+ Debug_SrcFile_PrintSrcFile_inBianryFile( p_bfile, b_level );
- for( i_srcid = 0; i_srcid < p_bfile->srcfile.i_max; i_srcid++ ) {
- p_srcfile = SrcFile_GetSrcFile( p_bfile, i_srcid );
- if( NULL == p_srcfile ) { continue; }
-
- printf( " [%3d] %s/%s\n", p_srcfile->i_id, p_srcfile->str_srcpath, p_srcfile->str_filename );
+ if( 0x00 < b_level ) {
+ puts("-----------------------------------------------------------------------");
+ puts("");
}
+ return 0x00;
+}
+
+
+/*----------------------------------------------------------------------
+----------------------------------------------------------------------*/
+LIBGOBLIN_DEBUG_SRCFILE_EXTERN
+int
+ Debug_SrcFile_PrintSrcFileTable(
+ LibGoblin_ProgramInfo *p_pginfo,
+ Byte b_level )
+{
+ int i_srcid;
+ LibGoblin_BinaryInfo *p_binfo;
+ LibGoblin_BinaryFile *p_bfile;
+
+ assert( NULL != p_pginfo );
+
+ if( 0x00 < b_level )
+ { puts("[DEBUG] SrcFile Table --------------------------------------------------"); }
+
+ p_binfo = BinaryInfo_GetBinInfo( p_pginfo->i_binfo_id );
+ assert( NULL != p_binfo );
+
+ do {
+ p_bfile = BinaryFile_GetBinaryFile( p_binfo->i_binfile );
+ assert( NULL != p_bfile );
+
+ Debug_SrcFile_PrintSrcFile_inBianryFile( p_bfile, b_level );
+
+ p_binfo = BinaryInfo_GetBinInfo( p_binfo->i_binfo_next );
+ }while( NULL != p_binfo );
+
if( 0x00 < b_level ) {
puts("-----------------------------------------------------------------------");
puts("");