小编oly*_*dis的帖子

由于应用程序X挂起(使用C++,Qt,OpenGL)

我的应用程序从网络获取数据并在场景中绘制(场景使用手工制作的OpenGL引擎).

它可以工作几个小时.当我不使用我的桌面时,我的显示器因显示器电源管理器信令(dpms)关闭.然后,当我触摸鼠标或键盘时,显示器打开,应用程序挂起(X也挂起).

如果我这样做 xset -dmps 操作系统不使用dpms并且应用程序工作稳定.

这些问题出现在Centos 6和Archlinux中,但是当我在Ubuntu 12.10下运行应用程序时,它运行得很好!

我尝试了不同的NVidia驱动程序.没有效果.

我尝试使用ssh进行远程登录并使用gdb附加到进程.打开监视器后,我无法在进程表中找到该应用程序.

如何诊断问题?当显示器关闭/打开时会发生什么(在OpengGL环境中)?使用dpms时,Ubuntu是否做了一些特别的事情?

我们猜测问题的原因!当监视器关闭时,我们失去了OpenGL上下文.当监视器唤醒时,应用程序挂起(无上下文).根据操作系统的不同,行为的差异是由于监视器连接不同:Kubuntu的监视器连接VGA电缆.所以(可能)它对X行为没有影响.

c++ linux opengl qt nvidia

40
推荐指数
1
解决办法
1346
查看次数

如何解决EM_WATCHDOG_TIMEOUT_DEADA444上的Windows Phone 8.1运行时崩溃SICK_APPLICATION_DEADA444

我写了一个Windows Phone 8.1运行时APP.

我从APP仪表板获得了一些崩溃报告,但不知道如何使用它或如何相应地调试应用程序.在我的本地机器上,我无法重现崩溃.我找不到转储文件.

这是崩溃报告的摘录failures-export_9NBLGGH3THQ9_20150713_20150812.tsv:

9NBLGGH3THQ9 
    2015-08-01 
    ba34d7f4-498c-fcd4-e012-7d4bf26a763e
    EM_WATCHDOG_TIMEOUT_DEADA444_Caixin.exe!{6A2A0B5A-E7E8-4748-A1AB-9B820BE11753}_Task_disconnected_while_still_running:_server_task_currentState_=_Active,_targetState_=_Active. 
    caixin.exe!{6A2A0B5A-E7E8-4748-A1AB-9B820BE11753}_Task_disconnected_while_still_running:_server_task_currentState_=_Active,_targetState_=_Active.  
    d302bc2d.49868ff9ecff2_1.0.0.0_neutral__pbtddhgrx95qt 1.0.0.0 d302bc2d.49868ff9ecff2 
    Windows Phone 8.1  
    CN    
    Crash 2 2

9NBLGGH3THQ9 
    2015-08-05 
    957fe591-0d8e-1c05-9688-4dfde547f312 
    MISSING_DUMP_EM_WATCHDOG_TIMEOUT_DEADA444_caixin.exe!{6A2A0B5A-E7E8-4748-A1AB-9B820BE11753}_Task_disconnected_while_still_running:_server_task_currentState_=_Active,_targetState_=_Active. 
    caixin.exe!{6A2A0B5A-E7E8-4748-A1AB-9B820BE11753}_Task_disconnected_while_still_running:_server_task_currentState_=_Active,_targetState_=_Active.  
    d302bc2d.49868ff9ecff2_1.0.0.0_neutral__pbtddhgrx95qt 1.0.0.0 d302bc2d.49868ff9ecff2 
    Windows Phone 8.1  
    CN    
    Crash .53 .04

9NBLGGH3THQ9 
    2015-08-03 
    47592457-662a-a475-a240-3592e51565b7 
    SICK_APPLICATION_DEADA444_Caixin.exe!{6A2A0B5A-E7E8-4748-A1AB-9B820BE11753}_Task_disconnected_while_still_running:_server_task_currentState_=_Active,_targetState_=_Active. 
    caixin.exe!{6A2A0B5A-E7E8-4748-A1AB-9B820BE11753}_Task_disconnected_while_still_running:_server_task_currentState_=_Active,_targetState_=_Active.  
    d302bc2d.49868ff9ecff2_1.0.0.0_neutral__pbtddhgrx95qt 1.0.0.0 d302bc2d.49868ff9ecff2 
    Windows Phone 8.1  
    CN    
    Crash 1 1

9NBLGGH3THQ9 
    2015-07-31 
    3f1b4775-4290-03e0-e009-8536c76ad412 
    EM_WATCHDOG_TIMEOUT_WATSON_IN_PROGRESS_DEADA444_Caixin.exe!{6A2A0B5A-E7E8-4748-A1AB-9B820BE11753}_Quiesce_Hang 
    caixin.exe!{6A2A0B5A-E7E8-4748-A1AB-9B820BE11753}_Quiesce_Hang  
    d302bc2d.49868ff9ecff2_1.0.0.0_neutral__pbtddhgrx95qt 1.0.0.0 d302bc2d.49868ff9ecff2   
    CN    
    Crash 1 1

9NBLGGH3THQ9 
    2015-08-12 
    bfc2c682-3af4-587b-7417-9a327af53fd5 
    STOWED_EXCEPTION_Newtonsoft.Json.JsonReaderException_80131500_Newtonsoft.Json.ni.DLL!Newtonsoft.Json.JsonTextReader.ParseValue 
    newtonsoft_json_ni!Newtonsoft.Json.JsonTextReader.ParseValue  1.0.0.0  
    Windows Phone 8.1  
    CN    
    Crash 1 1
Run Code Online (Sandbox Code Playgroud)

c# debugging runtime windows-phone-8.1

20
推荐指数
1
解决办法
1002
查看次数

如何使用反射将事件处理程序附加到事件?

我知道EventInfo.AddEventHandler(...)可以用来将处理程序附加到事件的方法.但是,如果我甚至无法定义事件处理程序的正确签名,应该怎么做,因为我甚至没有引用处理程序所期望的事件args?

我将用正确的代码解释问题.

//当我在我的解决方案中提供所有可用的场景时,Zero Reflection Scenario.

internal class SendCommentsManager
{
    public void Customize(IRFQWindowManager rfqWindowManager)
    {
        rfqWindowManager.SendComment += HandleRfqSendComment;
    }

    private void HandleRfqSendComment(object sender, SendCommentEventArgs args)
    {
        args.Cancel = true;
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,我希望通过使用反射来实现相同的目标.我已经能够找出大部分内容,但是当我将一个委托附加到事件(使用AddEventHandler)时,它会抛出"Error binding to target method."异常.

我理解这个异常背后的原因,将一个错误的委托附加到一个事件.但必须有一些方法来实现这一目标.

 internal class SendCommentsManagerUsingReflection
 {
     public void Customize(IRFQWindowManager rfqWindowManager)
     {
         EventInfo eventInfo = rfqWindowManager.GetType().GetEvent("SendComment");
         eventInfo.AddEventHandler(rfqWindowManager, 
             Delegate.CreateDelegate(eventInfo.EventHandlerType, this, "HandleRfqSendComment"));
         //<<<<<<<<<<ABOVE LINE IS WHERE I AM GOING WRONG>>>>>>>>>>>>>>
     }

     private void HandleRfqSendComment(object sender, object args)
     {
         Type sendCommentArgsType = args.GetType();
         PropertyInfo …
Run Code Online (Sandbox Code Playgroud)

c# reflection events delegates event-handling

8
推荐指数
1
解决办法
7553
查看次数

使用javascript的百分比计算器

我有以下价值观

x = 7.81;
y = 178.32;
z = (x/y)*100;
Run Code Online (Sandbox Code Playgroud)

百分比必须是4%上述结果.如何使用JavaScript计算百分比?

javascript

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