小编Mar*_*Mar的帖子

如何知道导致异常的确切代码行?

如果我自己生成异常,我可以在异常中包含任何信息:源文件的许多代码行和名称.像这样的东西:

throw std::exception("myFile.cpp:255");
Run Code Online (Sandbox Code Playgroud)

但是未处理的异常或不是由我生成的异常是什么?

c++ exception

34
推荐指数
5
解决办法
3万
查看次数

如何确保Visual Studio Online Git存储库是私有的?

我在VisualStudio.com上免费提供团队服务的5个用户计划.您能告诉我在哪里可以找到一个选项或提及,以显示我拥有的Git存储库是公共还是私有?

我试图在浏览器中输入一个repo URL,其他用户登录并获得"访问被拒绝"(如预期的那样).但我想100%肯定避免类似于这个的场合.

谢谢你的建议!

git azure-devops

14
推荐指数
2
解决办法
5967
查看次数

Windows 10 上的空白 WPF 子窗口

我从 Windows 8.1(64 位)升级了 Windows 10。在 WPF 应用程序(由我或其他人开发,如屏幕截图上的todotxt.net)中,子窗口大部分时间都是空白的。

如果我将鼠标移到控件上,它们中的一些会出现(我猜是因为它们处理WM_MOUSEHOVER消息以重新绘制自己)。有时窗口没问题(大约 10-20% 的启动)。我通过隐藏和显示控件暂时解决了这个问题(请阅读下文)。

在 Hyper-V 上全新安装 Windows 10 不会重现该错误。

有没有人遇到过类似的问题?你是怎么解决的?

这是它的外观(空白子窗口):

1 个选项-空白

鼠标移动后:

2个选项-mousemove

我的解决方案

我无法在 Internet 上找到任何其他解决方案。如果您找到任何其他解决方案,请告诉我。

首先,简单的重绘(通过InvalidateVisual())并没有解决问题。

我决定处理ContentRendered事件并隐藏然后显示所有控件。这个技巧有效,但它“闻起来”。

mainGrid下面的代码中,是我的子窗口最顶层 Grid 的名称:

XAML:

<Window x:Class="MyApp.About"
    .........
    ContentRendered="Window_ContentRendered" 
    ...... >
    <Grid x:Name="mainGrid" ... >
Run Code Online (Sandbox Code Playgroud)

CS:

private void Window_ContentRendered(object sender, EventArgs e)
{
    InvalidateVisual(); // Just in case
    var childCount = VisualTreeHelper.GetChildrenCount(mainGrid);

    for (int i = 0; i < childCount; ++i) …
Run Code Online (Sandbox Code Playgroud)

windows wpf windows-10

6
推荐指数
2
解决办法
4403
查看次数

如何正确终止dll中的挂线?

大家好,

我有一个包含错误的第三方库.当我调用一个函数时,它可能会挂起.库函数在dll中调用.我决定将调用移到线程中等待一段时间.如果线程已完成,则确定.如果没有 - 我应该终止它是强制性的.

这里简化的例子:

unsigned Counter = 0;
void f()
{
    HANDLE hThread;
    unsigned threadID;

    // Create the second thread.
    hThread = (HANDLE)_beginthreadex( NULL, 0, DoSomething, NULL, 0, &threadID );

    if (WAIT_TIMEOUT == WaitForSingleObject( hThread, 5000 ))
    {
        TerminateThread(hThread, 1);    
        wcout << L"Process is Timed Out";
    }
    else
    {
        wcout << L"Process is Ended OK";
    }

    CloseHandle(hThread);   

    wcout << Counter;
}

unsigned int _stdcall DoSomething( void * /*dummy*/ )
{
    while (1)
    {

        ++Counter;

    }
    _endthreadex( 0 );
    return …
Run Code Online (Sandbox Code Playgroud)

c++ windows dll multithreading

3
推荐指数
1
解决办法
3544
查看次数

标签 统计

c++ ×2

windows ×2

azure-devops ×1

dll ×1

exception ×1

git ×1

multithreading ×1

windows-10 ×1

wpf ×1