zoukankan      html  css  js  c++  java
  • activex控件开发时如何用ie8进行调试

    这阵子在搞一个activex的项目,发现dll型的输出控件比较难调试,导致我郁闷了几天了,调试不进去的话就定位不到错误,后面的工作就受阻了。试了好多种方法都不行,原来是不了解ie所致的。好像自从4.0以后,ie在我们打开一个网页时,会启动一个主的进程,和一个副进程,ie的调试器只touch到副进程是不行的,还得touch到主进程才可以。这个我也不确定是否正确,不过要使vs调试到activex工程里面去的话,我们还得按照下面的方法做。

    第一步:选择activex项目,打开项目属性,在“configuration properties”-> “debugging”中的command 中选择ie浏览器所在位置,一般是C:\Program Files\Internet Explorer\iexplore.exe;在下面的command arguments里面输入你写的html测试页面。
    第二步:选择菜单中的“debug“->”start debugging“,或者直接F5;这样调试就开始了,但是我们光这样的话我们调试不进去,我们还需要做下面关键的一步。
    第三步:选择菜单中的”debug“->”attacch to process“,在下面的”available processes“中,你可以看到一个ieexplore的进程已被选中,但是还有一个ieexplore进程未被选中,我们选择未被选择ieexplore进程,然后选择”attach“将该进程附加到调试器上,这样我们就能调试activex内部的代码了。


    至于如何调试,很简单,在你想要调试的代码前打上断点就可以了。

    ATL 无窗口 ActiveX 控件中,得到容器窗口句柄的方法
    2010-11-03 19:31
    CComPtr < IOleClientSite > spClientSite;
    GetClientSite( &spClientSite );
    CComQIPtr < IOleInPlaceSite > spSite = spClientSite;

    HWND hwnd;
    spSite->GetWindow( &hwnd );

  • 相关阅读:
    Android JNI和NDK学习(04)--NDK调试方法(转)
    Android JNI和NDK学习(03)--动态方式实现JNI(转)
    Android JNI和NDK学习(02)--静态方式实现JNI(转)
    Android JNI和NDK学习(01)--搭建NDK开发环境(转)
    C++语言基础(7)-inline内联函数
    C++语言基础(6)-const 关键字
    C++语言基础(5)-this和static关键字
    红黑树:个人理解与Python实现
    最小堆实现优先队列:Python实现
    二叉查找树:Python实现
  • 原文地址:https://www.cnblogs.com/zdxster/p/1945874.html
Copyright © 2011-2022 走看看