• ide tnd
  • ide tnd
    lv1=ide lv2= type=
    devenv /resetskippkgs
    lv1=ide lv2= type=jy
    无法在证书存储区中找到清单签名证书:
    解决方法是将项目属性的签名选项卡中的为ClickOnce清单签名的勾去掉。
    lv1=ide lv2= type=jy
    a.sln, b.sln放在同一个目录下,并且共享项目,cpu很高.
    lv1=ide lv2= type=jy
    重构/封装字段.
    未能加载***程序集:
    确认是否是x86,并且输出路径正确.
    lv1=ide lv2= type=jy
    vs2005'msdn must install vs?
    lv1=ide lv2= type=jy
    启动调试crash,将va禁用/启用一次就ok了.
    lv1=ide lv2= type=jy
    vs 生成事件(nmake)bug:文件路径中不要含&,如:
    wke_1.2_svn_074_full_src&cygwin
    lv1=ide lv2= type=jy
    release 编译的libdebug大?
    libcurl_impl.libsize:
    usingbuild.bat 800k
    usingvsdebug 2.8m
    usingvsrelease 5.6m
    lv1=ide lv2= type=jy
    vs2010 prbl:
    http://blog.sina.com.cn/s/blog_4fe4477501018f76.html
    POINTER_64 是一个宏,在64位编译下起作用,它包含在SDK目录下的BASETSD.H中(Microsoft Visual Studio 8\VC\PlatformSDK\Include\basetsd.h(23):#define POINTER_64 __ptr64),但DXSDK自己也带了一个basetsd.h,里面没有定义POINTER_64,从而导致出错,只需要改变include files的优先级即可。当然,也可以改写winnt.h中的代码,在下面这两行:typedef   void   *PVOID;     
    typedef   void   *POINTER_64   PVOID64;  
    之前增加一行:  
    #define   POINTER_64   __ptr64   
    优先级:
    C:\Users\Administrator\AppData\Local\Microsoft\MSBuild\v4.0\Microsoft.Cpp.Win32.user.props
    $(IncludePath)放在dx前面.
    my way:
    C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include\WinNT.h
    typedef void * POINTER_64 PVOID64;-->
    typedef void * POINTER_64, *PVOID64;
    lv1=ide lv2= type=jy
    loadlibrary时DllMain crash: debug得不到任何信息.
    lv1=ide lv2= type=jy
    mspdbserver.exe crash后需要重启ide
    util编译后自动将util.lib copywke,但不会导致wke重新链接...
    lv1=ide lv2= type=jy
    带括号的一般表示实际类型,不带的表示按当前类型解释的内存布局.
    lv1=ide lv2= type=jy
    设置 调式时,进入属性调式 逐过程执行属性和运算符
    工具 - 选项 - 调式 - 逐过程执行属性和运算符(仅限托管)
    lv1=ide lv2= type=jy
    97,c	0x61 'a'	int
    如果要将格式说明符应用于数组元素或对象成员,必须将其直接应用于每个元素或成员。不能将其整体应用于数组或对象。例如,假设有数组 nArray,并且想看字符格式的前四个元素。应在监视窗口输入下列表达式:
    nArray[0],c
    nArray[1],c
    ms-help://MS.VSCC.v90/MS.MSDNQTR.v90.chs/dv_vsdebug/html/0f6f3b7c-ce2c-4b4d-b14f-7589dbed5444.htm
    lv1=ide lv2= type=jy
    这种一行代码的,调试时看不到m_globalData,需要反汇编执行若干步之后才能看到:
    JSC::SourceElements* createSourceElements() { returnnew (m_globalData) JSC::SourceElements(m_globalData); }
    watch: castasobjects,
    (JSC::ParserArena*)0x005f1218
    lv1=ide lv2= type=jy
    va: implement virtual methods...
    lv1=ide lv2= type=jy
    如果头文件没有被包含在project中,则即使被修改了也不会重编?
    lv1=ide lv2= type=jy
    调试pilib,调用了这个之后vs会自动重编,以生成pdb.需要禁用生成
    move I:\work\wke\build\vs2008\Debug_Cairo_CFLite\bin\wke.pdb I:\work\wke\build\vs2008\Debug_Cairo_CFLite\bin\wke2.pdb
    pause
    lv1=ide lv2= type=todo
    template 的汇编代码?
    lv1=ide lv2= type=todo
    解决方案平台.
    lv1=ide lv2= type=todo
    VS2008中添加注释的宏
    http://blog.csdn.net/linlianghui2004/article/details/6600695
    环境:VC 9(Visual Studio 2008),其他.net版本没有测试
    功能:在VC 9编辑器中为代码添加符合Doxygen标准的注释,其中包括:
    lv1=ide lv2=cplk type=jy
    编译须知:
    c#项目选择x86;cpp选择win32
    确保所有的生成都勾上
    lv1=ide lv2=cplk type=jy
    cl: 命令行 error D8021 :无效的数值参数/wdTools/Scripts/build-webkit: 将错误的文本复制到了强制包含中.(禁用特定警告4396;4819)
    lv1=ide lv2=cplk type=jy
    lib项目中使用#pragmacomment(lib...:
    lv1=ide lv2=cplk type=jy
    在这一句报重定义错误(同时在项目配置&代码中定义):
    #defineCAIRO_HAS_PS_SURFACE 0
    查看c/c++ > 命令行 > 所有选项, 发现有/D CAIRO_HAS_PS_SURFACE,原来是以前在
    c/c++ > ..> 预处理器定义 中添加的.
    lv1=ide lv2=cplk type=jy
    1>.\cpp_basic_test\operator_overload.cpp(51) : error C2451: COO类型的条件表达式是非法的
    1>        不明确的用户定义的转换
    operatorvoid*() const
    	{
    returnptr;
    	}
    operatorint*() const
    	{
    inta;
    return &a;
    	}
    COOoo(NULL);
    if(oo)
    1>.\cpp_basic_test\operator_overload.cpp(18) : error C2440: return: 无法从void *const *转换为COO::Uns
    1>        转换丢失限定符
    typedefvoid* *Uns; // Unsvoid*类型的指针.即void**
    operatorUns() const
    	{
    return &ptr;
    	}
    change to:
    typedefvoid* *Uns;
    operatorUns() const
    	{
    return (void**)&ptr;
    	}
    lv1=ide lv2=cplk type=jy
    重启ok:
    warning C4651: 为预编译头,而非为当前编译指定/DCAIRO_HAS_WIN32_FONT
    dump文件需要与dll&pdb放在一起.
    lv1=ide lv2= type=sum
    两种命令行编译(vcbuildorcl)
    〖头文件依赖关系分析: 预处理+vcbuild〗
    〖cairo compile-link〗
    lv1=ide lv2=designer type=issue
    ucComboBox2<-->ucComboBox 互换
    将全部项目加载进来,uccomboxok了.
    lv1=ide lv2=exception type=jy
    没有引发异常,造成的执行流程中断, 
    全选.
    -- 虽然中断了,但是没有堆栈,也可以尝试这种方法
    lv1=ide lv2=exception type=jy
    js也有pauseonexception, seelv1=wke lv2=inspector type=issue
    因为选择了win32 exception 总是中断:
    处最可能的异常: 0x000006BA: RPC 服务器不可用。
    发生以下异常时中断:
    1.引发: 只要发生就中断,不管是否有无异常处理模块
    2.用户未处理: 用户未处理则中断,对于win32 exception,一般无法取消.
    lv1=ide lv2=menu type=jy
    link with editor;
    项目和解决方案>常规>在解决方案资源管理器中跟踪活动项
    http://msdn.microsoft.com/zh-cn/library/26k97dbc.aspx
    http://book.2cto.com/201210/5939.html
    菜单 工具 | 选项 | 项目和解决方案 | 常规
    命令 视图.跟踪解决方案资源管理器中的活动(View.TrackActivityinSolutionExplorer)
    版本 2005, 2008, 2010
    代号 vstipProj0011
    默认情况下,Visual Studio会在解决方案资源管理器中自动跟踪当前编辑的文件,并让其在解决方案资源管理器中突出显示。-- 估计时c#开发模式的缘故.
    ca0+ca9(在键盘设置中搜索:解决方案资源管理器)
    lv1=ide lv2=pdb type=jy
    加载符号
    在调用堆栈窗口选择需要加载pdbdll > 符号设置
    选中手动加载,避免影响正常情况下的调试速度.
    配置好pdb路径之后执行"使用以上位置加载符号",如果实在找不到,再选择"从ms符号服务器加载符号"
    	ExpmtWin32Main.exe	X:\project\win32\ExpmtWin32\Debug\ExpmtWin32Main.exe	N/A	N/A	已加载符号。	C:\Users\ADMINI~1\AppData\Local\Temp\SymbolCache\SinglePdbs\ExpmtWin32Main.pdb	1		2013/1/6 15:24	002A0000-00341000	[0xF78] ExpmtWin32Main.exe: 本机	
    如果ide找不到pdb,选择加载符号(这个就是上面提到的手动加载):
    选择"符号路径",ide则会在配置的路径中自动查找,如果找到了直接加载,否则弹出选择文件对话框.
    选择"ms...",则尝试从ms服务器上下载.
    lv1=ide lv2= type=jy
    条件断点太慢
    lv1=ide lv2= type=jy
    ide没有中断,不易察觉:
    pi_run.exe 中的0x51a0d671 (wke.dll) 处最可能的异常: 0xC0000005: 读取位置0x0000000c 时发生访问冲突
    lv1=ide lv2= type=jy
    ilk
    删除ilk加速链接.
    4>Util.lib(Test.obj) : 找到MSIL .netmodule 或使用/GL 编译的模块;正在使用/LTCG 重新启动链接;将/LTCG 添加到链接命令行以改进链接器性能
    release时默认没有启用增量链接,因为/LTCG link time code generation
    http://bbs.csdn.net/topics/390140267
    就是在链接的时候根据模块的状况,可以进一步生成优化代码.gcc的lto与此类似.
    多数情况,没有多大的提升.其实我实际的经验中,从来就没有发现过明显的性能提升.
    相比之下profile优化效果更明显.
    只要有任何一个lib的链接选项中含有/LTCG,就会导致dll/exe连接时不能增量,
      Util.lib(Test.obj) : 找到MSIL .netmodule 或使用/GL 编译的模块;正在使用/LTCG 重新启动链接;将/LTCG 添加到链接命令行以改进链接器性能
      >LINK : warning LNK4075: 忽略/INCREMENTAL(由于/LTCG规范)
    需要打开对应的*.lib项目文件(.vcproj,好像不能在项目属性中修改?),找到WholeProgramOptimization项,删除之,重新加载-编译-链接.
    		<Configuration
    			Name="Release|Win32"
    			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
    			IntermediateDirectory="$(ConfigurationName)"
    			ConfigurationType="4"
    			CharacterSet="1"
    WholeProgramOptimization="1"
    			>
    同时需要确认dll的链接->优化选项如下:
    /LTCG (Link-time Code Generation)
    http://msdn.microsoft.com/en-us/library/xbf3tbeh(v=vs.90).aspx
    The linker invokes link-time code generation if it is passed a module that was compiled with /GL or an MSIL module (see .netmodule Files as Linker Input for more information). If you do not explicitly specify /LTCG when passing /GL or MSIL modules to the linker, the linker will eventually detect this and restart the link with /LTCG. Explicitly specify /LTCG when passing /GL and MSIL modules to the linker for the fastest possible build performance.
    lv1=ide lv2= type=jy
    debug/release差距巨大:
    #include<stdio.h>
    #include<Windows.h>
    voidmain(){
    LARGE_INTEGERfre;
    QueryPerformanceFrequency(&fre);
    printf("fre=%lld\n", fre.QuadPart);
    intbegin = timeGetTime();
    inti=0;
    intsum = 0;
    while(true){
    if(i++ > 1000000000){
    break;
    		}
    sum += i;
    	}
    printf("sum=%d, time=%d\n", sum, timeGetTime()-begin);
    }
    lv1=ide lv2= type=jy
    没有优化到寄存器的局部变量,都能够在局部变量窗口中看到.??
    lv1=ide lv2= type=jy
    如果更改VS2008新建文件的默认编码(utf-8)?  
    可以尝试下通过 工具->選項->環境->文件->無法以字碼頁儲存資料時,將文件儲存為Unicode, 以及 工具->選項->文字編輯器->一般->自動偵測無簽章UTF-8編碼 来进行设置。
    或者参考下面的文章,直接修改VS template的编码:http://hi.baidu.com/memorywang/blog/item/0f9ab3afad7637e9faed5040.html
    希望上面的信息对你有所帮助。
    VS2008中自定义C++工程模板与修改新建文件默认编码的办法
    http://wenku.it168.com/d_000666365.shtml
    lv1=ide lv2= type=jy
    lv1=ide lv2= type=jy
    $(TargetDir)$(TargetName).lib
    链接器>高级>导入库
    VS2008中最近的项目消失
    http://social.msdn.microsoft.com/forums/vstudio/zh-CN/910fa996-ff67-4dc7-88a3-24dcae97793d/vs2008
    在"运行"中输入"regedit"打开注册表编辑器,在HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer分支下找到一个名为"NoRecentDocsHistory"或"NoRecentDocsMenu"的值,将值改为0即可。
    lv1=ide lv2= type=jy
    inline, __inline, __forceinline
    __forceinline, just a stronger recommandation
    http://msdn.microsoft.com/en-us/library/z8y1yy88(v=vs.71).aspx
    The insertion (called inline expansion or inlining) occurs only if the compiler's cost/benefit analysis show it to be profitable. Inline expansion alleviates the function-call overhead at the potential cost of larger code size.
    The __forceinline keyword overrides the cost/benefit analysis and relies on the judgment of the programmer instead(但仍然可能不能内联). Exercise caution when using __forceinline. Indiscriminate use of __forceinline can result in larger code with only marginal performance gains or, in some cases, even performance losses (due to increased paging of a larger executable, for example).
    Using inline functions can make your program faster because they eliminate the overhead associated with function calls. Functions expanded inline are subject to code optimizations not available to normal functions.
    lv1=ide lv2= type=jy
    wchar_t问题:
    pi中定义wcharuint16,c++编译报错:
    pi_vfs_mount(L"...", ...)
    error C2664: pi_vfs_mount: 不能将参数 1 从const wchar_t [7]转换为const wchar *
    sln: vs项目属性>c/c++>语言>将wchar_t视为内置类型 改为否,需要将所有的项目统一(jsc/webcore也需要修改),否则链接不过.
    最终解决方案(jsc/webcore也是使用的这种方案?):
    #ifdefANDROID
    typedef uint16 wchar;
    #else
    typedefwchar_twchar;
    #endif
    UChar定义test: 没有找到确切的定义...
    #defineTO_STRING( x ) TO_STRING1( x )
    #defineTO_STRING1( x ) #x
    #pragmamessage(TO_STRING(UChar)) // output UChar
    通过预处理文件找到了UChar定义的出处:
    #line 264 "e:\\svn_check\\wke_df\\WebKitLibraries\\win\\Include\\unicode/umachine.h"
        typedef wchar_t UChar;
    /* Define UChar to be compatible with wchar_t if possible. */
    #ifU_SIZEOF_WCHAR_T==2
    typedefwchar_tUChar;
    #else
        typedef uint16_t UChar;
    #endif
    android: loadsook, failedingetfunaddress--funname传错了
    pi_log(wchar* format, ...); 没办法实现..._vscprintf 无对应接口.
    wchar的定义放在?
    lv1=ide lv2= type=jy
    debug依赖debug_mt,不能正常链接?
    generate debug info. 默认开启,并且加粗了...
    lv1=ide lv2= type=reading
    va tips, enote
    lv1=ide lv2= type=jy
    在单步调试ShowNodeSelFormGB时造成了在autos窗口中初始化:
    publicvoidShowNodeSelFormGB(objectsender, EventArgse)
            {
    stringfilter = sender.ToString();
    if(filter != "")
                {
    strings = sender.ToString();
    if (Regex.IsMatch(s, @"\w{8}-\w{4}-\w{4}-\w{4}-\w{12}"))
                    {
    stringsql = string.Format("select path, nid, start from nodes, anodes where tid='{0}' and nodes.id = anodes.id", s);
    DataTabledt = TinyNodeHelper.ExeToDT(sql, @"x:\sh2\src.db");
    if (dt.Rows.Count > 0)
                        {
    DataRowdr = dt.Rows[0];
    stringpath = dr["path"].ToString();
    stringnid = dr["nid"].ToString();
    intstartPos = (int)(long)dr["start"];
    AppCfg.mainForm.AddUCEditor(nid, -1, startPos, false, path, "");
                        }
                    }
    else
                    {
    boolbDirectShow = NodeSFGB.FilterText == s;
    NodeSFGB.FilterText = s;
    NodeSFGB.GoOrShow(bDirectShow);
                    }
                } // -- 单步执行到这里时autos窗口中就会出现:NodeSFGB,导致其初始化.
    else
                {
    NodeSFGB.Show();
                }
    //NodeSFGB.Show();//.f27 //.f26
            }
    lv1=ide lv2= type=jy
    cl总是使用ansi编译,因此utf8编译可能出现问题.
    lv1=ide lv2= type=jy
    堆栈定位错误:
    错误的堆栈
    wke.dll!_free_dbg
    wke.dll!free
    wke.dll!Curl_safefree -- 从这里开始出现偏差.
    wke.dll!file_done
    wke.dll!Curl_done
    wke.dll!multi_runsingle
    wke.dll!curl_multi_perform
    正确的
    wke.dll!_file_close
    wke.dll!file_done
    wke.dll!Curl_done
    wke.dll!multi_runsingle
    wke.dll!curl_multi_perform
    staticCURLcodefile_done(structconnectdata *conn,
    CURLcodestatus, boolpremature)
    {
    structFILEPROTO *file = conn->data->state.proto.file;
      (void)status; /* not used */
      (void)premature; /* not used */
    Curl_safefree(file->freepath);
    if(is_valid_file(file->fd))
    file_close((void*)file->fd);
    returnCURLE_OK;
    }
    lv1=ide lv2=va type=jy
    find reference in file: cas
    lv1=ide lv2= type=jy
    vs 自动弹出提示?
    lv1=ide lv2= type=jy
    To debug into your C++ DLL you need to enable mixed mode debugging on the startup application in your solution.
    非托管代码调试
    Right click on project -> Properties
    Go to Debug Tab
    Check "Enable unmanaged code debugging"
    http://stackoverflow.com/questions/1744888/cannot-debug-unmanaged-dll-from-c-sharp
    cpp项目, DebuggerType 选择Mixed
    lv1=ide lv2= type=jy
    sln文件必须要是\r\n,否则不能双击打开.
    Linker Tools Error LNK1117
    The option was not correctly specified.
    输出路径中含有空格时需要加"":
    "$(SolutionDir)..\..\output\lib\$(ConfigurationName)\pi_lib.lib"
    cau,按符号状态排序,可以方便的查看哪些pdb加载了
    lv1=ide lv2= type=jy
    workingdir设定:
    $(ProjectDir)..\..\
    不能够这样: ../../ 报错:,同时也不能有空格结尾
    lv1=ide lv2= type=jy
    lv1=ide lv2= type=todo
    x86,win32等到底什么不同?
    ide platform研究
    lv1=ide lv2= type=jy
    $(ProjectDir)..\..\
    不能够这样: ../../ 报错:,同时也不能有空格结尾
    lv1=ide lv2= type=jy
    移动.h文件,vs不会自动重编.
    lv1=ide lv2= type=jy
    lv1=ide lv2= type=jy
    运行vax_patch.exe
    Visual Assist was detected at d:\Program Files (x86)\Visual Assist X
    d:\Program Files (x86)\Visual Assist X\VA_X.dll is already patched
    Done! Press any key...
    再将其copy覆盖: C:\Users\Administrator\AppData\Local\Microsoft\VisualStudio\11.0\Extensions\???\VA_X.dll
    其中???为随机的文件夹名字
    Visual.Assist.X.V10.7.1912的Crack破解补丁. 新增了对VS2012 RTM的支持. 2012.08.08(RC)
    http://blog.csdn.net/piggyxp/article/details/7861235
    lv1=ide lv2= type=jy
    VS08以上有这个选项,/GL(全程序优化)
    能够跨模块内联。
    http://msdn.microsoft.com/zh-cn/library/0zza0de8(v=vs.90).aspx
    陈悦彬(陈悦彬) 11-29 09:37:54
    以前看过这个选项比较鸡肋,没有局部优化明显,而且会导致wke不能增量链接,严重影响链接速度,我已经其关掉了
    当然我们自己的pi等可以用
    偶然间发现线程监视窗口很多"索引更新线程".
    C#: A使用dll 引用,B使用proj引用,导致冲突.
    调试卡: 删除watch变量.
    printf("p=%x, className=%S, name=%S\n", p, className, name);
    错误	2	错误的结果 1 (从D:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\cl.exe返回)。	项目	l2d
    lv1=ide lv2= type=jy
    lv1=ide lv2= type=jy
    延迟加载的dll
    http://www.cnblogs.com/ztercel/archive/2012/08/19/2646808.html
    延时加载鉴于静态和动态加载之间,即无需在代码中显示加载但它内队依然是动态加载的方式只是系统帮处理了。这样做好处是: 1.  可以加快启动时间(因为它是动态加载在需要的时间加载), 2. 减小编写LoadLibrary, GetProcAddress 而像静态库函数一样直接使用. 但他的不足或者说缺陷的地方: 1.  变量不会通过延迟加载方式导出; 2. Kernal32.DLL 无法延迟加载波; 3. 避免在DllMain中使用延尽加载DLL中的库函数.
    要实现延时加载我们需要在VS中设置两个项:  1.  链接器->输入->延迟回载的DLL =>"写入DLL名" 2.链接器->高级->延迟加载的DLL =》支持卸载(/Delay:unload)
    lv1=ide lv2= type=jy
    错误的结果 -1073741515 (从D:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\cl.exe返回)
    9.0\VC\bin\cl.exe 损坏
    VC\vcvarsall.bat call Common7\Tools\vsvars32.bat
    path中不要带引号,否则会导致VC\vcvarsall.bat执行出错: 此时不应有...
    排查: 在命令行中,执行VC\vcvarsall.bat之后,执行cl,正常情况下的输出是: 
    用于 80x86 的 Microsoft (R) 32 位 C/C++ 优化编译器 15.00.21022.08 版
    版权所有(C) Microsoft Corporation。保留所有权利。
    用法: cl [ 选项... ] 文件名... [ /link 链接选项... ]
    lv1=ide lv2= type=jy
    				<UserShortcuts>
    					<RemoveShortcut Command="Edit.Redo" Scope="全局">Ctrl+Shift+Z</RemoveShortcut>
    ...
    					<Shortcut Command="Edit.ListMembers" Scope="全局">Alt+J</Shortcut>
    				</UserShortcuts>
    快捷键 中英文对照:
    文本编辑器 Text Editor
    全局 Global
    vs2010 导入 vs2008: 去掉x即可导入?
    VisualAssistX.FindSymbolDialog > VisualAssist.FindSymbolDialog
    lv1=ide lv2= type=jy
    vs版本:
    98 6
    03 7
    05 8
    08 9
    10 10
    12 11
    13 12
    lv1=ide lv2= type=jy
    del, 导致vs不能启动调试.
    C:\Users\Administrator\appdata\local\microsoft\visualstudio\12.0\extensions
    modules中的Timestamp不是dll的修改时间.应该是生成时间.??
    lv1=ide lv2= type=jy
    patch va,结果造成了加载失败,被disable了:
    lv1=ide lv2= type=jy
    lv1=ide lv2= type=todo
    Converting Visual Studio Macro to Visual Studio plugin
    http://www.codewrecks.com/blog/index.php/2012/08/24/converting-visual-studio-macro-to-visual-studio-plugin/
    需要使用intellisense数据.
    编译分析profiler?
    lv1=ide lv2=va type=jy
    自动高亮所有引用
    lv1=ide lv2=va type=jy
    eg: client context create
    lv1=ide lv2= type=jy
    vs2008没有装x64 compiler,重装提示"组建加载失败".通过控制面板/卸载程序可以成功修改安装
    vs不要拖动cross screen!
    lv1=ide lv2= type=jy
    'typeid' used on polymorphic type 'views::View' with /GR-; unpredictable behavior may result
    lv1=ide lv2= type=jy
    externalCommand* exam:
    $(SolutionDir)\..\wow\tools\vs_tool\dos2unix\dos2unix.exe
    $(ItemPath)
    $(ItemDir)
    C:\m35_taobao\src\wow\tools\vs_tool\sortlines.py --file=$(ItemPath) --line=$(CurLine) --col=$(CurCol) --text=$(CurText)
    $(ProjectDir) abs
    $(SelectedFiles) rel
    lv1=ide lv2= type=jy
    show call stack on code map
    lv1=ide lv2= type=
    用vschromium搜索这个搜索结果不全:grit/wow_theme_resources.h
    lv1=ide lv2= type=jy
    m41编译问题:wow\third_party\sso_agent\common\im_sso_utils.cpp编译报错:但单独编译这个文件(ctrl+f7)却不报错。。。使用了不同的cl。
    lv1=ide lv2= type=jy
    这些都能点:
    1>          M:\m40.01\src\base/tuple.h(272) : see reference to function template instantiation 'void DispatchToMethodImpl<ObjT,Method,int,content::FrameReplicationState,0,1>(ObjT *,Method,const Tuple<int,content::FrameReplicationState> &,IndexSequence<0,1>)' being compiled
    1>          with
    1>          [
    1>              ObjT=wow_content::TridentRenderFrame
    1>  ,            Method=void (__thiscall wow_content::TridentRenderFrame::* )(int)
    1>          ]
    1>          M:\m40.01\src\content/common/frame_messages.h(431) : see reference to function template instantiation 'void DispatchToMethod<T,Method,int,content::FrameReplicationState>(ObjT *,Method,const Tuple<int,content::FrameReplicationState> &)' being compiled
    1>          with
    1>          [
    1>              T=wow_content::TridentRenderFrame
    1>  ,            Method=void (__thiscall wow_content::TridentRenderFrame::* )(int)
    1>  ,            ObjT=wow_content::TridentRenderFrame
    1>          ]
    1>          ..\wow\content\trident\renderer\wow_trident_render_frame.cc(48) : see reference to function template instantiation 'bool FrameMsg_SwapOut::Dispatch<wow_content::TridentRenderFrame,wow_content::TridentRenderFrame,void,void(__thiscall wow_content::TridentRenderFrame::* )(int)>(const IPC::Message *,T *,S *,P *,Method)' being compiled
    1>          with
    1>          [
    1>              T=wow_content::TridentRenderFrame
    1>  ,            S=wow_content::TridentRenderFrame
    1>  ,            P=void
    1>  ,            Method=void (__thiscall wow_content::TridentRenderFrame::* )(int)
    1>          ]
    lv1=ide lv2= type=jy
    vs2013, update4, cl.exe是由msbuild.exe启动
    lv1=ide lv2= type=shortcut
    cw,w view view.chromiumsourceexplorer
    lv1=ide lv2= type=jy
    Build and Run: on Run, always build.
    lv1=ide lv2= type=
    这里也要改成x86,否则会报错:BindingFailure
    lv1=ide lv2= type=
    书签过多造成vs反应很慢
    lv1=ide lv2= type=jy
    调试与否的启动命令不一样,造成结果不同:
    "X:\project\Visual Studio Projects\FindHelper\FindHelper\bin\Debug\TestShell.vshost.exe" Expmt.TabControlTest.ShowDialog|..\..\..\..\Expmt\bin\Debug\Expmt.exe
    "C:\windows\system32\cmd.exe" /c ""X:\project\Visual Studio Projects\FindHelper\FindHelper\bin\Debug\TestShell.exe" Expmt.TabControlTest.ShowDialog|..\..\..\..\Expmt\bin\Debug\Expmt.exe & pause"
    lv1=ide lv2= type=jy
    添加ref,要保证target framework一致。否则显示错误,但却无确定信息。