Changeset 313 in dev


Ignore:
Timestamp:
Sep 2, 2007, 11:11:40 PM (17 years ago)
Author:
dai_9181
Message:

ステップ実行時の不正終了を回避

Location:
trunk/abdev/BasicCompiler_Common
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/abdev/BasicCompiler_Common/BreakPoint.cpp

    r280 r313  
    4848    int FileNum;
    4949    const IncludedFilesRelation *pIncludedFilesRelation = NULL;
     50    const BasicSource *pNowSource = NULL;
    5051    BOOST_FOREACH( const BasicSource &source, compiler.GetObjectModule().GetSources() )
    5152    {
     
    5455        for(FileNum=0;FileNum<pIncludedFilesRelation->GetFileCounts();FileNum++)
    5556        {
    56             if(lstrcmpi(pIncludedFilesRelation->GetFilePathFromFileNumber(FileNum).c_str(),lpszFileName)==0) break;
     57            if(lstrcmpi(pIncludedFilesRelation->GetFilePathFromFileNumber(FileNum).c_str(),lpszFileName)==0)
     58            {
     59                pNowSource = &source;
     60                break;
     61            }
    5762        }
    5863        if( FileNum == pIncludedFilesRelation->GetFileCounts() )
     
    100105
    101106loop:
    102             int tempCp;
    103             tempCp=GetCpFromLine(FileBaseLine+i2);
     107            int tempCp = GetSourceCodeIndexFromLine( pNowSource->GetBuffer(), FileBaseLine+i2 );
    104108
    105109            int i3;
  • trunk/abdev/BasicCompiler_Common/Debug.cpp

    r288 r313  
    5757    int FileNum;
    5858    const IncludedFilesRelation *pIncludedFilesRelation = NULL;
     59    const BasicSource *pNowSource = NULL;
    5960    BOOST_FOREACH( const BasicSource &source, compiler.GetObjectModule().GetSources() )
    6061    {
     
    6364        for(FileNum=0;FileNum<pIncludedFilesRelation->GetFileCounts();FileNum++)
    6465        {
    65             if(lstrcmpi(pIncludedFilesRelation->GetFilePathFromFileNumber(FileNum).c_str(),szFilePath)==0) break;
     66            if(lstrcmpi(pIncludedFilesRelation->GetFilePathFromFileNumber(FileNum).c_str(),szFilePath)==0)
     67            {
     68                pNowSource = &source;
     69                break;
     70            }
    6671        }
    6772        if( FileNum == pIncludedFilesRelation->GetFileCounts() )
     
    110115
    111116loop:
    112             int tempCp;
    113             tempCp=GetCpFromLine(FileBaseLine+i2);
     117            int tempCp = GetSourceCodeIndexFromLine( pNowSource->GetBuffer(), FileBaseLine+i2 );
    114118
    115119            int i3;
  • trunk/abdev/BasicCompiler_Common/DebugMiddleFile.cpp

    r280 r313  
    246246
    247247    SingleStepCodeBuffer=MakeSingleStepCode();
     248   
     249    //ソースコード
     250    extern char *basbuf;
     251    basbuf = const_cast<char *>(compiler.GetObjectModule().GetSource(0).GetBuffer());
    248252
    249253
  • trunk/abdev/BasicCompiler_Common/StrOperation.cpp

    r279 r313  
    174174}
    175175
    176 int GetCpFromLine(int LineNum){
    177     extern char *basbuf;
    178 
     176int GetSourceCodeIndexFromLine( const char *source, int LineNum ){
    179177    int i,nCount=0;
    180178    for(i=0;;i++){
    181         if(basbuf[i]=='\n'){
     179        if(source[i]=='\n'){
    182180            nCount++;
    183181            if(LineNum==nCount){
    184182                for(i++;;i++){
    185                     if(IsCommandDelimitation(basbuf[i])) break;
     183                    if(IsCommandDelimitation(source[i])) break;
    186184                }
    187185                return i;
  • trunk/abdev/BasicCompiler_Common/common.h

    r308 r313  
    319319void SlideString(char *str,int slide);
    320320void SlideBuffer(char *buffer,int length,int slide);
    321 int GetCpFromLine(int LineNum);
     321int GetSourceCodeIndexFromLine( const char *source, int LineNum );
    322322char GetEndXXXCommand(char es);
    323323void GetDefaultNameFromES(char es,char *name);
Note: See TracChangeset for help on using the changeset viewer.