Ignore:
Timestamp:
Sep 26, 2001, 5:31:05 PM (24 years ago)
Author:
phaller
Message:

added calldepth tracing

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/include/odinwrap.h

    r6629 r6829  
    1 /* $Id: odinwrap.h,v 1.35 2001-09-02 10:42:16 phaller Exp $
     1/* $Id: odinwrap.h,v 1.36 2001-09-26 15:28:32 phaller Exp $
    22 *
    33 * Project Odin Software License can be found in LICENSE.TXT
     
    5858
    5959// ---------------------------------------------------------------------------
    60 extern unsigned long int WIN32API GetCurrentThreadId(); //kernel32
     60extern unsigned long int WIN32API GetCurrentThreadId();     // kernel32
     61extern unsigned long int WIN32API dbg_GetThreadCallDepth(); // kernel32
     62extern void              WIN32API dbg_IncThreadCallDepth(); // kernel32
     63extern void              WIN32API dbg_DecThreadCallDepth(); // kernel32
    6164
    6265// ---------------------------------------------------------------------------
     
    100103#define FNPROLOGUE(a)   \
    101104  USHORT sel = GetFS(); \
     105  dbg_IncThreadCallDepth(); \
    102106  ODIN_HEAPCHECK();     \
    103107  PROFILE_START(a)
     
    106110  PROFILE_STOP(a)       \
    107111  ODIN_HEAPCHECK();     \
     112  dbg_DecThreadCallDepth(); \
    108113  if (sel != GetFS()) { \
    109114    SetFS(sel); \
     
    143148    FNPROLOGUE(#cName)                       \
    144149    ODIN_##cName();                           \
     150    FNEPILOGUE(#cName)                        \
    145151    dprintf(("%s: void "#cName"() leave\n",   \
    146152             pszOdinDebugChannel));           \
    147     FNEPILOGUE(#cName)                        \
    148153  }                                           \
    149154                                              \
     
    161166    FNPROLOGUE(#cName)                       \
    162167    cRet   rc  = ODIN_##cName(a1);            \
    163     dprintf(("%s: "#cRet" "#cName"() leave = %08xh\n", \
    164              pszOdinDebugChannel,             \
    165              rc));                            \
    166168    FNEPILOGUE(#cName)                        \
     169    dprintf(("%s: "#cRet" "#cName"() leave = %08xh\n", \
     170             pszOdinDebugChannel,             \
     171             rc));                            \
    167172    return rc;                                \
    168173  }                                           \
     
    179184    FNPROLOGUE(#cName)                       \
    180185    ODIN_##cName(a1);                         \
     186    FNEPILOGUE(#cName)                        \
    181187    dprintf(("%s: void "#cName"() leave\n",   \
    182188             pszOdinDebugChannel));           \
    183     FNEPILOGUE(#cName)                        \
    184189  }                                           \
    185190                                              \
     
    197202    FNPROLOGUE(#cName)                        \
    198203    cRet   rc  = ODIN_##cName(a1,a2);          \
     204    FNEPILOGUE(#cName)                         \
    199205    dprintf(("%s: "#cRet" "#cName"() leave = %08xh\n", \
    200206             pszOdinDebugChannel,              \
    201207             rc));                             \
    202     FNEPILOGUE(#cName)                         \
    203208    return rc;                                 \
    204209  }                                            \
     
    215220    FNPROLOGUE(#cName)                       \
    216221    ODIN_##cName(a1,a2);                      \
     222    FNEPILOGUE(#cName)                        \
    217223    dprintf(("%s: void "#cName"() leave\n",   \
    218224             pszOdinDebugChannel));           \
    219     FNEPILOGUE(#cName)                        \
    220225  }                                           \
    221226                                              \
     
    233238    FNPROLOGUE(#cName)                       \
    234239    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));                            \
    239244    return rc;                    \
    240245  }                               \
     
    251256    FNPROLOGUE(#cName)                       \
    252257    ODIN_##cName(a1,a2,a3);              \
     258    FNEPILOGUE(#cName)            \
    253259    dprintf(("%s: void "#cName"() leave\n",   \
    254260             pszOdinDebugChannel));           \
    255     FNEPILOGUE(#cName)            \
    256261  }                               \
    257262                                  \
     
    269274    FNPROLOGUE(#cName)                       \
    270275    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));                            \
    275280    return rc;                    \
    276281  }                               \
     
    287292    FNPROLOGUE(#cName)                       \
    288293    ODIN_##cName(a1,a2,a3,a4); \
     294    FNEPILOGUE(#cName)       \
    289295    dprintf(("%s: void "#cName"() leave\n",   \
    290296             pszOdinDebugChannel));           \
    291   FNEPILOGUE(#cName)       \
    292297  }                               \
    293298                                  \
     
    306311    FNPROLOGUE(#cName)                       \
    307312    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));                            \
    312317    return rc;                    \
    313318  }                               \
     
    325330    FNPROLOGUE(#cName)                       \
    326331    ODIN_##cName(a1,a2,a3,a4,a5); \
     332    FNEPILOGUE(#cName)       \
    327333    dprintf(("%s: void "#cName"() leave\n",   \
    328334             pszOdinDebugChannel));           \
    329     FNEPILOGUE(#cName)       \
    330335  }                               \
    331336                                  \
     
    344349    FNPROLOGUE(#cName)                       \
    345350    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));                            \
    350355    return rc;                    \
    351356  }                               \
     
    363368    FNPROLOGUE(#cName)                       \
    364369    ODIN_##cName(a1,a2,a3,a4,a5,a6); \
     370    FNEPILOGUE(#cName)       \
    365371    dprintf(("%s: void "#cName"() leave\n",    \
    366372             pszOdinDebugChannel));           \
    367     FNEPILOGUE(#cName)       \
    368373  }                               \
    369374                                  \
     
    382387    FNPROLOGUE(#cName)                       \
    383388    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));                            \
    388393    return rc;                    \
    389394  }                               \
     
    401406    FNPROLOGUE(#cName)                       \
    402407    ODIN_##cName(a1,a2,a3,a4,a5,a6,a7); \
     408    FNEPILOGUE(#cName)       \
    403409    dprintf(("%s: void "#cName"() leave\n",    \
    404410             pszOdinDebugChannel));           \
    405     FNEPILOGUE(#cName)       \
    406411  }                               \
    407412                                  \
     
    421426    FNPROLOGUE(#cName)                       \
    422427    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));                            \
    427432    return rc;                    \
    428433  }                               \
     
    441446    FNPROLOGUE(#cName)                       \
    442447    ODIN_##cName(a1,a2,a3,a4,a5,a6,a7,a8); \
     448    FNEPILOGUE(#cName)       \
    443449    dprintf(("%s: void "#cName"() leave\n",    \
    444450             pszOdinDebugChannel));           \
    445     FNEPILOGUE(#cName)       \
    446451  }                               \
    447452                                  \
     
    461466    FNPROLOGUE(#cName)                       \
    462467    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));                            \
    467472    return rc;                    \
    468473  }                               \
     
    481486    FNPROLOGUE(#cName)                       \
    482487    ODIN_##cName(a1,a2,a3,a4,a5,a6,a7,a8,a9); \
     488    FNEPILOGUE(#cName)       \
    483489    dprintf(("%s: void "#cName"() leave\n",    \
    484490             pszOdinDebugChannel));           \
    485     FNEPILOGUE(#cName)       \
    486491  }                               \
    487492                                  \
     
    501506    FNPROLOGUE(#cName)                       \
    502507    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));                            \
    507512    return rc;                    \
    508513  }                               \
     
    521526    FNPROLOGUE(#cName)                       \
    522527    ODIN_##cName(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10); \
     528    FNEPILOGUE(#cName)       \
    523529    dprintf(("%s: void "#cName"() leave\n",    \
    524530             pszOdinDebugChannel));           \
    525     FNEPILOGUE(#cName)       \
    526531  }                               \
    527532                                  \
     
    541546    FNPROLOGUE(#cName)                       \
    542547    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));                            \
    547552    return rc;                    \
    548553  }                               \
     
    561566    FNPROLOGUE(#cName)                       \
    562567    ODIN_##cName(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11); \
     568    FNEPILOGUE(#cName)       \
    563569    dprintf(("%s: void "#cName"() leave\n",    \
    564570             pszOdinDebugChannel));           \
    565     FNEPILOGUE(#cName)       \
    566571  }                               \
    567572                                  \
     
    582587    FNPROLOGUE(#cName)                       \
    583588    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));                            \
    588593    return rc;                    \
    589594  }                               \
     
    603608    FNPROLOGUE(#cName)                       \
    604609    ODIN_##cName(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12); \
     610    FNEPILOGUE(#cName)       \
    605611    dprintf(("%s: void "#cName"() leave\n",    \
    606612             pszOdinDebugChannel));           \
    607     FNEPILOGUE(#cName)       \
    608613  }                               \
    609614                                  \
     
    624629    FNPROLOGUE(#cName)                       \
    625630    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));                            \
    630635    return rc;                    \
    631636  }                               \
     
    645650    FNPROLOGUE(#cName)                       \
    646651    ODIN_##cName(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13); \
     652    FNEPILOGUE(#cName)       \
    647653    dprintf(("%s: void "#cName"() leave\n",    \
    648654             pszOdinDebugChannel));           \
    649     FNEPILOGUE(#cName)       \
    650655  }                               \
    651656                                  \
     
    666671    FNPROLOGUE(#cName)                       \
    667672    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));                            \
    672677    return rc;                    \
    673678  }                               \
     
    687692    FNPROLOGUE(#cName)                       \
    688693    ODIN_##cName(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14); \
     694    FNEPILOGUE(#cName)       \
    689695    dprintf(("%s: void "#cName"() leave\n",    \
    690696             pszOdinDebugChannel));           \
    691     FNEPILOGUE(#cName)       \
    692697  }                               \
    693698                                  \
Note: See TracChangeset for help on using the changeset viewer.