Changeset 636 in dev for trunk/ab5.0/abdev/BasicCompiler_Common/DebugMiddleFile.cpp
- Timestamp:
- Jun 10, 2008, 11:40:17 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ab5.0/abdev/BasicCompiler_Common/DebugMiddleFile.cpp
r603 r636 99 99 } 100 100 101 // オブジェクトモジュールリストに類似したソースコードリスト 102 { 103 // オブジェクトモジュールリストに類似したソースコードリストを作成 104 BasicSources sources; 105 BOOST_FOREACH( const ObjectModule *pObjectModule, compiler.staticLibraries ) 106 { 107 sources.push_back( pObjectModule->GetSource() ); 108 } 109 110 // テキストデータにシリアライズ 111 std::string textString; 112 sources.WriteBinaryString( textString ); 113 114 // サイズ 115 *(long *)(buffer+i2) = (long)textString.size(); 116 i2+=sizeof(long); 117 118 //バッファが足りない場合は再確保 119 if(BufferSize<i2+(int)textString.size()+32768){ 120 while( BufferSize<i2+(int)textString.size()+32768 ) 121 { 122 BufferSize+=32768; 123 } 124 125 buffer=(char *)HeapReAlloc(hHeap,0,buffer,BufferSize); 126 } 127 128 // バッファ 129 memcpy( buffer+i2, textString.c_str(), textString.size() ); 130 i2 += (int)textString.size(); 131 } 132 101 133 102 134 //////////////////////// … … 115 147 i2+=sizeof(long); 116 148 117 *(long *)(buffer+i2) = sourceLine.Get SourceIndex();149 *(long *)(buffer+i2) = sourceLine.GetRelationalObjectModuleIndex(); 118 150 i2+=sizeof(long); 119 151 … … 192 224 this->objectModule.ReadString( textString ); 193 225 194 compiler.SelectObjectModule( this->objectModule ); 195 } 196 226 compiler.SelectObjectModule( &this->objectModule ); 227 } 228 229 // オブジェクトモジュールリストに類似したソースコードリスト 230 { 231 // サイズ 232 int size = *(long *)(buffer+i2); 233 i2 += sizeof(long); 234 235 // バッファ 236 const std::string textString( (const char *)(buffer + i2), size ); 237 i2 += size; 238 239 // テキストデータからシリアライズ 240 this->_sourcesLinkRelationalObjectModule.ReadBinaryString( textString ); 241 } 197 242 198 243 //コードと行番号の関係 … … 246 291 //ソースコード 247 292 extern char *basbuf; 248 basbuf = const_cast<char *>(compiler.GetObjectModule().GetSource( 0).GetBuffer());293 basbuf = const_cast<char *>(compiler.GetObjectModule().GetSource().GetBuffer()); 249 294 250 295 … … 252 297 // ブレークポイントを適用 253 298 ///////////////////////////// 299 300 // オブジェクトモジュールリストに類似したソースコードリスト 301 extern BasicSources sourcesLinkRelationalObjectModule; 302 sourcesLinkRelationalObjectModule = this->_sourcesLinkRelationalObjectModule; 254 303 255 304 //コードと行番号の関係 … … 364 413 365 414 // オブジェクトモジュール 366 compiler.SelectObjectModule( this->objectModule );415 compiler.SelectObjectModule( &this->objectModule ); 367 416 368 417 //コードと行番号の関係
Note:
See TracChangeset
for help on using the changeset viewer.