首 页 | 新 闻 | Symbian | Android| Windows Mobile | J2ME | 下载中心 | 游戏策划招聘与求职 | 购书指南 | 视频教程
您现在的位置: 开发视界 >> Symbian英文资料 >> Tips Tricks >> 正文
Cmo ver todos los tipos de descriptores (y otras estructuras) en el depurador de VC6
作者:佚名    文章来源:不详    更新时间:2006-5-6 23:05:25

Mientras que CodeWarrior y/o Borland est n convirtindose en los IDE preferidos para Symbian, todavia hay algunos (dentro de los que me incluyo!) que prefieren utilizar MSDEV para desarrollar.

Aunque MSDEV est bastante bien, tiene carencias a la hora de mostrar el contenido de los descriptores, lo que puede llegar a ser bastante frustrante. Una soluci n a este problema se present aqu , sin embargo el mtodo propuesto tambi n tena una limitaci n.

El mtodo propuesto s lo trabajaba bien para unos tipos de descriptores concretos, como TBuf, etc,... pero slo mostraba la longitud cuando se utilizaban las clases base, TDes o TDesC.

Ver TDes y Otros Descriptores

Usando un poco de conocimiento acerca de MSDEV se puede superar dicha limitaci n creando una DLL "addon" que muestre los datos de los descriptores.

La DLL, ShowDes.dll (ver fichero adjunto), debe copiarse a:

\Microsoft Visual Studio\Common\MSDev98\Bin\

Y a continuacin modificar AUTOEXP.DAT para indicarle a MSDEV que la use. Lo que se hace a adiendo lo siguiente en la seccin [AutoExpand]:


TDesC16=$ADDIN(ShowDes.dll,TDesC16_View)
TDesC8=$ADDIN(ShowDes.dll,TDesC8_View)

Una vez hecho todo esto se debe reiniciar MSDEV para que tenga en cuenta los cambios realizados.

Estos cambios indican a MSDEV que debe llamar a la funci n TDesC16_View de ShowDes.dll para mostrar el tipo TDesC16, y a TDesc8_View para TDesC8. TDesC16_View y TDesC8_View extraen los datos, y los devuelven al depurador. Haciendo que la informacin contenida en los descriptores de clases concretas (TBuf, etc) o abstractas (TDes/TDesC) se muestren correctamente en el depurador, junto a su tama o actual y mximo (si no son constantes).

Ver Estructuras B sicas de Symbian OS

Al tiempo que modificamos AutoExp.dat, podemos aadir alguna otra l nea para ayudar a la depuracin en Symbian - de nuevo, en la secci n [AutoExpand]:


TInt64 =low=<iLow> high=<iHigh>
TDateTime =day(zero based)=<iDay> mth=<iMonth> yr=<iYear> hr=<iHour> min=<iMinute> sec=<iSecond>.<iMicroSecond>
CActive= iIsActive=<iActive>
CArrayFixBase= iCount=<iCount>
CArrayVarBase= iCount=<iCount>
CBase= <,t>
RHandleBase= <iHandle,x> <,t>
RRegion= Rects=<iCount> Err=<iError> iTl.iX=<iRectangleList->iTl.iX> iTl.iY=<iRectangleList->iTl.iY> iBr.iX=<iRectangleList->iBr.iX> iBr.iY=<iRectangleList->iBr.iY>
TChar=<iChar> <iChar,c>
TLex8= iNext=<iNext,s>
TLex16= iNext=<iNext,su>
TPoint= iX=<iX> iY=<iY>
TRect= iTl.iX=<iTl.iX> iTl.iY=<iTl.iY> iBr.iX=<iBr.iX> iBr.iY=<iBr.iY>
TRegion= numRects=<iCount> Err=<iError>
TRequestStatus= <iStatus>
TSize= iWidth=<iWidth> iHeight=<iHeight>
TTime= iLow=<iTime.iLow,x> iHigh=<iTime.iHigh,x>
TTimeIntervalBase= <iInterval,d> <,t>
TUid= iUid=<iUid>
TStreamId= iVal=<iVal>
TMargins= iLeft=<iLeft> iRight=<iRight> iTop=<iTop> iBottom=<iBottom>
TPageSpec= iOrientation=<iOrientation>
TRgb= R=<iValue&0xff> G=<iValue/256%256)> B=<iValue/65536>
TPointerEvent=iType=<iType>, iPos.iX=<iPosition.iX>, iPos.iY=<iPosition.iY>
TCellRef=iRow=<iRow>, iCol=<iCol>
TRangeRef=iFrom.iRow=<iFrom.iRow>, iFrom.iCol=<iFrom.iCol>, iTo.iRow=<iTo.iRow>, iTo.iCol=<iTo.iCol>
CCoeControl= iPosition=(<iPosition.iX>,<iPosition.iY>) iSize=(<iSize.iWidth>,<iSize.iHeight>)

Estos cambios harn que varias clases de Symbian se expandan autom ticamente en el depurador. Un ejemplo del resultado obtenido:

Evitar la ejecucin paso a paso de las macros TRAP

Y por limo, podemos evitar la forma tan molesta que tiene MSDEV de depurar las macros TRAP paso a paso:


[ExecutionControl]
TTrap::*=NoStepInto

Aadiendo esta l nea se evita la ejecucin paso a paso de cualquiera de los m todos de la clase TTrap - incluyendo TTrap::Trap usado por TRAP(D).

Descarga

Zip - 16.1 KB
DesView DLL
DLL for viewing descriptors from MSDEV
相关文章:
How to  view all descriptor types (and others) in VC6 debugger
Cmo ver todos los tipos de descriptores (y otras estructuras) en el depurador de VC6
Adicionando bitmaps a sua aplica o (Parte I): Criando um arquivo MBM
Using the View Server - Advanced features
How to  view all descriptor types (and others) in VC6 debugger
 

站点地图 | 加入收藏 | 联系站长 | 广告服务 |
QQ:280529124  Tel:0592-8271361 辽ICP备05021703号