Changeset 6829
- Timestamp:
 - Sep 26, 2001, 5:31:05 PM (24 years ago)
 - Location:
 - trunk
 - Files:
 - 
      
- 3 edited
 
- 
          
  include/odinwrap.h (modified) (33 diffs)
 - 
          
  src/kernel32/misc.cpp (modified) (2 diffs)
 - 
          
  src/kernel32/thread.cpp (modified) (2 diffs)
 
 
Legend:
- Unmodified
 - Added
 - Removed
 
- 
      
trunk/include/odinwrap.h
r6629 r6829 1 /* $Id: odinwrap.h,v 1.3 5 2001-09-02 10:42:16phaller Exp $1 /* $Id: odinwrap.h,v 1.36 2001-09-26 15:28:32 phaller Exp $ 2 2 * 3 3 * Project Odin Software License can be found in LICENSE.TXT … … 58 58 59 59 // --------------------------------------------------------------------------- 60 extern unsigned long int WIN32API GetCurrentThreadId(); //kernel32 60 extern unsigned long int WIN32API GetCurrentThreadId(); // kernel32 61 extern unsigned long int WIN32API dbg_GetThreadCallDepth(); // kernel32 62 extern void WIN32API dbg_IncThreadCallDepth(); // kernel32 63 extern void WIN32API dbg_DecThreadCallDepth(); // kernel32 61 64 62 65 // --------------------------------------------------------------------------- … … 100 103 #define FNPROLOGUE(a) \ 101 104 USHORT sel = GetFS(); \ 105 dbg_IncThreadCallDepth(); \ 102 106 ODIN_HEAPCHECK(); \ 103 107 PROFILE_START(a) … … 106 110 PROFILE_STOP(a) \ 107 111 ODIN_HEAPCHECK(); \ 112 dbg_DecThreadCallDepth(); \ 108 113 if (sel != GetFS()) { \ 109 114 SetFS(sel); \ … … 143 148 FNPROLOGUE(#cName) \ 144 149 ODIN_##cName(); \ 150 FNEPILOGUE(#cName) \ 145 151 dprintf(("%s: void "#cName"() leave\n", \ 146 152 pszOdinDebugChannel)); \ 147 FNEPILOGUE(#cName) \148 153 } \ 149 154 \ … … 161 166 FNPROLOGUE(#cName) \ 162 167 cRet rc = ODIN_##cName(a1); \ 163 dprintf(("%s: "#cRet" "#cName"() leave = %08xh\n", \164 pszOdinDebugChannel, \165 rc)); \166 168 FNEPILOGUE(#cName) \ 169 dprintf(("%s: "#cRet" "#cName"() leave = %08xh\n", \ 170 pszOdinDebugChannel, \ 171 rc)); \ 167 172 return rc; \ 168 173 } \ … … 179 184 FNPROLOGUE(#cName) \ 180 185 ODIN_##cName(a1); \ 186 FNEPILOGUE(#cName) \ 181 187 dprintf(("%s: void "#cName"() leave\n", \ 182 188 pszOdinDebugChannel)); \ 183 FNEPILOGUE(#cName) \184 189 } \ 185 190 \ … … 197 202 FNPROLOGUE(#cName) \ 198 203 cRet rc = ODIN_##cName(a1,a2); \ 204 FNEPILOGUE(#cName) \ 199 205 dprintf(("%s: "#cRet" "#cName"() leave = %08xh\n", \ 200 206 pszOdinDebugChannel, \ 201 207 rc)); \ 202 FNEPILOGUE(#cName) \203 208 return rc; \ 204 209 } \ … … 215 220 FNPROLOGUE(#cName) \ 216 221 ODIN_##cName(a1,a2); \ 222 FNEPILOGUE(#cName) \ 217 223 dprintf(("%s: void "#cName"() leave\n", \ 218 224 pszOdinDebugChannel)); \ 219 FNEPILOGUE(#cName) \220 225 } \ 221 226 \ … … 233 238 FNPROLOGUE(#cName) \ 234 239 cRet rc = ODIN_##cName(a1,a2,a3); \ 235 dprintf(("%s: "#cRet" "#cName"() leave = %08xh\n",\236 pszOdinDebugChannel,\237 rc));\238 FNEPILOGUE(#cName)\240 FNEPILOGUE(#cName) \ 241 dprintf(("%s: "#cRet" "#cName"() leave = %08xh\n", \ 242 pszOdinDebugChannel, \ 243 rc)); \ 239 244 return rc; \ 240 245 } \ … … 251 256 FNPROLOGUE(#cName) \ 252 257 ODIN_##cName(a1,a2,a3); \ 258 FNEPILOGUE(#cName) \ 253 259 dprintf(("%s: void "#cName"() leave\n", \ 254 260 pszOdinDebugChannel)); \ 255 FNEPILOGUE(#cName) \256 261 } \ 257 262 \ … … 269 274 FNPROLOGUE(#cName) \ 270 275 cRet rc = ODIN_##cName(a1,a2,a3,a4); \ 271 dprintf(("%s: "#cRet" "#cName"() leave = %08xh\n",\272 pszOdinDebugChannel,\273 rc));\274 FNEPILOGUE(#cName)\276 FNEPILOGUE(#cName) \ 277 dprintf(("%s: "#cRet" "#cName"() leave = %08xh\n", \ 278 pszOdinDebugChannel, \ 279 rc)); \ 275 280 return rc; \ 276 281 } \ … … 287 292 FNPROLOGUE(#cName) \ 288 293 ODIN_##cName(a1,a2,a3,a4); \ 294 FNEPILOGUE(#cName) \ 289 295 dprintf(("%s: void "#cName"() leave\n", \ 290 296 pszOdinDebugChannel)); \ 291 FNEPILOGUE(#cName) \292 297 } \ 293 298 \ … … 306 311 FNPROLOGUE(#cName) \ 307 312 cRet rc = ODIN_##cName(a1,a2,a3,a4,a5); \ 308 dprintf(("%s: "#cRet" "#cName"() leave = %08xh\n",\309 pszOdinDebugChannel,\310 rc));\311 FNEPILOGUE(#cName)\313 FNEPILOGUE(#cName) \ 314 dprintf(("%s: "#cRet" "#cName"() leave = %08xh\n", \ 315 pszOdinDebugChannel, \ 316 rc)); \ 312 317 return rc; \ 313 318 } \ … … 325 330 FNPROLOGUE(#cName) \ 326 331 ODIN_##cName(a1,a2,a3,a4,a5); \ 332 FNEPILOGUE(#cName) \ 327 333 dprintf(("%s: void "#cName"() leave\n", \ 328 334 pszOdinDebugChannel)); \ 329 FNEPILOGUE(#cName) \330 335 } \ 331 336 \ … … 344 349 FNPROLOGUE(#cName) \ 345 350 cRet rc = ODIN_##cName(a1,a2,a3,a4,a5,a6); \ 346 dprintf(("%s: "#cRet" "#cName"() leave = %08xh\n",\347 pszOdinDebugChannel,\348 rc));\349 FNEPILOGUE(#cName)\351 FNEPILOGUE(#cName) \ 352 dprintf(("%s: "#cRet" "#cName"() leave = %08xh\n", \ 353 pszOdinDebugChannel, \ 354 rc)); \ 350 355 return rc; \ 351 356 } \ … … 363 368 FNPROLOGUE(#cName) \ 364 369 ODIN_##cName(a1,a2,a3,a4,a5,a6); \ 370 FNEPILOGUE(#cName) \ 365 371 dprintf(("%s: void "#cName"() leave\n", \ 366 372 pszOdinDebugChannel)); \ 367 FNEPILOGUE(#cName) \368 373 } \ 369 374 \ … … 382 387 FNPROLOGUE(#cName) \ 383 388 cRet rc = ODIN_##cName(a1,a2,a3,a4,a5,a6,a7); \ 384 dprintf(("%s: "#cRet" "#cName"() leave = %08xh\n",\385 pszOdinDebugChannel,\386 rc));\387 FNEPILOGUE(#cName)\389 FNEPILOGUE(#cName) \ 390 dprintf(("%s: "#cRet" "#cName"() leave = %08xh\n", \ 391 pszOdinDebugChannel, \ 392 rc)); \ 388 393 return rc; \ 389 394 } \ … … 401 406 FNPROLOGUE(#cName) \ 402 407 ODIN_##cName(a1,a2,a3,a4,a5,a6,a7); \ 408 FNEPILOGUE(#cName) \ 403 409 dprintf(("%s: void "#cName"() leave\n", \ 404 410 pszOdinDebugChannel)); \ 405 FNEPILOGUE(#cName) \406 411 } \ 407 412 \ … … 421 426 FNPROLOGUE(#cName) \ 422 427 cRet rc = ODIN_##cName(a1,a2,a3,a4,a5,a6,a7,a8); \ 423 dprintf(("%s: "#cRet" "#cName"() leave = %08xh\n",\424 pszOdinDebugChannel,\425 rc));\426 FNEPILOGUE(#cName)\428 FNEPILOGUE(#cName) \ 429 dprintf(("%s: "#cRet" "#cName"() leave = %08xh\n", \ 430 pszOdinDebugChannel, \ 431 rc)); \ 427 432 return rc; \ 428 433 } \ … … 441 446 FNPROLOGUE(#cName) \ 442 447 ODIN_##cName(a1,a2,a3,a4,a5,a6,a7,a8); \ 448 FNEPILOGUE(#cName) \ 443 449 dprintf(("%s: void "#cName"() leave\n", \ 444 450 pszOdinDebugChannel)); \ 445 FNEPILOGUE(#cName) \446 451 } \ 447 452 \ … … 461 466 FNPROLOGUE(#cName) \ 462 467 cRet rc = ODIN_##cName(a1,a2,a3,a4,a5,a6,a7,a8,a9); \ 463 dprintf(("%s: "#cRet" "#cName"() leave = %08xh\n",\464 pszOdinDebugChannel,\465 rc));\466 FNEPILOGUE(#cName)\468 FNEPILOGUE(#cName) \ 469 dprintf(("%s: "#cRet" "#cName"() leave = %08xh\n", \ 470 pszOdinDebugChannel, \ 471 rc)); \ 467 472 return rc; \ 468 473 } \ … … 481 486 FNPROLOGUE(#cName) \ 482 487 ODIN_##cName(a1,a2,a3,a4,a5,a6,a7,a8,a9); \ 488 FNEPILOGUE(#cName) \ 483 489 dprintf(("%s: void "#cName"() leave\n", \ 484 490 pszOdinDebugChannel)); \ 485 FNEPILOGUE(#cName) \486 491 } \ 487 492 \ … … 501 506 FNPROLOGUE(#cName) \ 502 507 cRet rc = ODIN_##cName(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10); \ 503 dprintf(("%s: "#cRet" "#cName"() leave = %08xh\n",\504 pszOdinDebugChannel,\505 rc));\506 FNEPILOGUE(#cName)\508 FNEPILOGUE(#cName) \ 509 dprintf(("%s: "#cRet" "#cName"() leave = %08xh\n", \ 510 pszOdinDebugChannel, \ 511 rc)); \ 507 512 return rc; \ 508 513 } \ … … 521 526 FNPROLOGUE(#cName) \ 522 527 ODIN_##cName(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10); \ 528 FNEPILOGUE(#cName) \ 523 529 dprintf(("%s: void "#cName"() leave\n", \ 524 530 pszOdinDebugChannel)); \ 525 FNEPILOGUE(#cName) \526 531 } \ 527 532 \ … … 541 546 FNPROLOGUE(#cName) \ 542 547 cRet rc = ODIN_##cName(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11); \ 543 dprintf(("%s: "#cRet" "#cName"() leave = %08xh\n",\544 pszOdinDebugChannel,\545 rc));\546 FNEPILOGUE(#cName)\548 FNEPILOGUE(#cName) \ 549 dprintf(("%s: "#cRet" "#cName"() leave = %08xh\n", \ 550 pszOdinDebugChannel, \ 551 rc)); \ 547 552 return rc; \ 548 553 } \ … … 561 566 FNPROLOGUE(#cName) \ 562 567 ODIN_##cName(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11); \ 568 FNEPILOGUE(#cName) \ 563 569 dprintf(("%s: void "#cName"() leave\n", \ 564 570 pszOdinDebugChannel)); \ 565 FNEPILOGUE(#cName) \566 571 } \ 567 572 \ … … 582 587 FNPROLOGUE(#cName) \ 583 588 cRet rc = ODIN_##cName(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12); \ 584 dprintf(("%s: "#cRet" "#cName"() leave = %08xh\n",\585 pszOdinDebugChannel,\586 rc));\587 FNEPILOGUE(#cName)\589 FNEPILOGUE(#cName) \ 590 dprintf(("%s: "#cRet" "#cName"() leave = %08xh\n", \ 591 pszOdinDebugChannel, \ 592 rc)); \ 588 593 return rc; \ 589 594 } \ … … 603 608 FNPROLOGUE(#cName) \ 604 609 ODIN_##cName(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12); \ 610 FNEPILOGUE(#cName) \ 605 611 dprintf(("%s: void "#cName"() leave\n", \ 606 612 pszOdinDebugChannel)); \ 607 FNEPILOGUE(#cName) \608 613 } \ 609 614 \ … … 624 629 FNPROLOGUE(#cName) \ 625 630 cRet rc = ODIN_##cName(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13); \ 626 dprintf(("%s: "#cRet" "#cName"() leave = %08xh\n",\627 pszOdinDebugChannel,\628 rc));\629 FNEPILOGUE(#cName)\631 FNEPILOGUE(#cName) \ 632 dprintf(("%s: "#cRet" "#cName"() leave = %08xh\n", \ 633 pszOdinDebugChannel, \ 634 rc)); \ 630 635 return rc; \ 631 636 } \ … … 645 650 FNPROLOGUE(#cName) \ 646 651 ODIN_##cName(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13); \ 652 FNEPILOGUE(#cName) \ 647 653 dprintf(("%s: void "#cName"() leave\n", \ 648 654 pszOdinDebugChannel)); \ 649 FNEPILOGUE(#cName) \650 655 } \ 651 656 \ … … 666 671 FNPROLOGUE(#cName) \ 667 672 cRet rc = ODIN_##cName(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14); \ 668 dprintf(("%s: "#cRet" "#cName"() leave = %08xh\n",\669 pszOdinDebugChannel,\670 rc));\671 FNEPILOGUE(#cName)\673 FNEPILOGUE(#cName) \ 674 dprintf(("%s: "#cRet" "#cName"() leave = %08xh\n", \ 675 pszOdinDebugChannel, \ 676 rc)); \ 672 677 return rc; \ 673 678 } \ … … 687 692 FNPROLOGUE(#cName) \ 688 693 ODIN_##cName(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14); \ 694 FNEPILOGUE(#cName) \ 689 695 dprintf(("%s: void "#cName"() leave\n", \ 690 696 pszOdinDebugChannel)); \ 691 FNEPILOGUE(#cName) \692 697 } \ 693 698 \  - 
      
trunk/src/kernel32/misc.cpp
r6555 r6829 1 /* $Id: misc.cpp,v 1.4 1 2001-08-17 11:18:37 sandervlExp $ */1 /* $Id: misc.cpp,v 1.42 2001-09-26 15:31:05 phaller Exp $ */ 2 2 3 3 /* … … 336 336 { 337 337 va_start(argptr, tekst); 338 if(teb) { 339 teb->o.odin.logfile = (DWORD)flog; 338 if(teb) 339 { 340 ULONG ulCallDepth; 341 #ifdef DEBUG 342 ulCallDepth = teb->o.odin.dbgCallDepth; 343 #else 344 ulCallDepth = 0; 345 #endif 346 347 teb->o.odin.logfile = (DWORD)flog; 348 340 349 #ifdef LOG_TIME 341 if(sel == 0x150b && !fIsOS2Image) { 342 fprintf(flog, "t%d: (%x) (FS=150B) ", teb->o.odin.threadId, GetTickCount()); 343 } 344 else fprintf(flog, "t%d: (%x) ", teb->o.odin.threadId, GetTickCount()); 345 #else 346 if(sel == 0x150b && !fIsOS2Image) { 347 fprintf(flog, "t%d: (FS=150B) ", teb->o.odin.threadId); 348 } 349 else fprintf(flog, "t%d: ", teb->o.odin.threadId); 350 if(sel == 0x150b && !fIsOS2Image) 351 fprintf(flog, 352 "t%02d (%3d): (%x) (FS=150B) ", 353 teb->o.odin.threadId, 354 ulCallDepth, 355 GetTickCount()); 356 else 357 fprintf(flog, 358 "t%02d (%3d): (%x) ", 359 teb->o.odin.threadId, 360 ulCallDepth, 361 GetTickCount()); 362 #else 363 if(sel == 0x150b && !fIsOS2Image) 364 fprintf(flog, 365 "t%02d (%3d): (FS=150B) ", 366 teb->o.odin.threadId, 367 ulCallDepth); 368 else 369 fprintf(flog, 370 "t%02d (%3d): ", 371 teb->o.odin.threadId, 372 ulCallDepth); 350 373 #endif 351 374 }  - 
      
trunk/src/kernel32/thread.cpp
r6133 r6829 1 /* $Id: thread.cpp,v 1.3 1 2001-06-27 19:09:35 sandervlExp $ */1 /* $Id: thread.cpp,v 1.32 2001-09-26 15:29:39 phaller Exp $ */ 2 2 3 3 /* … … 58 58 return teb->o.odin.hThread; 59 59 } 60 61 // these two debugging functions allow access to a 62 // calldepth counter inside the TEB block of each thread 63 ULONG WIN32API dbg_GetThreadCallDepth() 64 { 65 #ifdef DEBUG 66 TEB *teb; 67 68 teb = GetThreadTEB(); 69 if(teb == NULL) 70 return 0; 71 else 72 return teb->o.odin.dbgCallDepth; 73 #else 74 return 0; 75 #endif 76 } 77 78 79 void WIN32API dbg_IncThreadCallDepth() 80 { 81 #ifdef DEBUG 82 TEB *teb; 83 84 teb = GetThreadTEB(); 85 if(teb != NULL) 86 teb->o.odin.dbgCallDepth++; 87 #endif 88 } 89 90 91 void WIN32API dbg_DecThreadCallDepth() 92 { 93 #ifdef DEBUG 94 TEB *teb; 95 96 teb = GetThreadTEB(); 97 if(teb != NULL) 98 --(teb->o.odin.dbgCallDepth); 99 #endif 100 } 101 102 60 103 //****************************************************************************** 61 104 //******************************************************************************  
  Note:
 See   TracChangeset
 for help on using the changeset viewer.
  