vb.net 응용 프로그램이 TeamViewer와 함께 멈춤

DiLorenzo 브랜드

저는 응용 프로그램을 작업하고 있는데 TeamViewer와 Radmin을 통해 원격으로 연결할 때 응용 프로그램이 멈 춥니 다.
중지되면 예외가 없으며 UI가 응답하지 않으며 프로세스가 리소스 모니터 또는 프로세스 탐색기에서 중단되지 않습니다.

응용 프로그램의 몇 가지 기본 사양 : 2 개의 COM 포트에 연결합니다. 하나는 입력 용이고 다른 하나는 출력용입니다. 출력 COM에는 5 초마다 연결 유지 신호도 필요합니다. UI 업데이트부터 음성 출력 및 데이터 입력 처리까지 다양한 작업을 실행하는 4 개의 백그라운드 작업자 스레드가 있습니다. UI는 3 개의 개별 데이터 소스의 데이터를 실시간으로 표시합니다. 두 개는 COM 포트이고 하나는 MS SQL입니다.

RDP는 응용 프로그램을 전혀 중단하지 않습니다.

이 문제의 원인에 대한 아이디어가 있습니까?

SQL 2012 백엔드와 함께 VS Ultimate 2013에 내장 된 .NET 4.5.1에서 실행됩니다.

나는 진전없이 64 비트와 32 비트 사이를 바꾸려고 시도했다.

fsintegral에 대한 응답을 편집 하십시오.

  1. 응용 프로그램의 모든 루프는 종료되지만 매우 자주 호출됩니다. 각 타이머에는 1.5-5 초 반복이 있으며 타이머 내의 프로세스가 틱 시간보다 더 많이 걸리는 시간이 있습니다. 타이머는 모두 백그라운드 작업자를 호출하고 프로세스를 시작하기 전에 .isBusy를 확인하여 중복을 방지합니다.

타이머는 끝없이 실행되도록 설계되었지만 무한 루프와는 다릅니다.

  1. 보이지 않는 대화 상자를 확인하는 방법이 있습니까? 나는 존재한다고 생각하지 않지만 확인하는 방법을 알고 싶습니다.

  2. 저는 백그라운드 작업 자당 데이터로드 시간을 최적화하는 데 상당한 시간을 보냈고 데이터로드를 위해 각 프로세스를 1 초 미만으로 줄였습니다. 프로세스 중 하나가 더 오래 실행되는 원인은 두 가지입니다. 그중 하나는 SpeachSynth를 사용하여 경고를 말하고 있으며 코드 블록 당 최대 60 초가 걸릴 수 있습니다. 다른 하나는 시간 초과가 발생하는 경우 응용 프로그램이 중단되지 않도록 비동기 프로세스에 넣은 전자 메일입니다. 그러나이 두 항목이 처리되지 않는 경우에도 응용 프로그램이 중단됩니다.

  3. 계단식 이벤트. 다른 이벤트에 의해 트리거되는 이벤트입니까? 그렇다면 응용 프로그램은 이러한 유형의 작업을 사용하지 않습니다. 그러나 응용 프로그램은 적어도 하나의 백그라운드 작업자에서 약 15 개의 개별 모듈을 호출합니다. 나는 이것이 너무 높은 숫자라고 생각하지 않지만 그것이 있다면 알려주십시오. 이것이 우려된다면 의사 코드를 게시 할 수 있습니다.

  4. Application.Sleep ()은 사용되지 않지만 Application.DoEvents ()는 일정 시간이 지나기를 기다릴 때입니다.
    IE

    Dim startTime As Date = Now
    Dim timePassed As TimeSpan = Now - startTime
    Do Until timePassed.TotalSeconds > 5
       timePassed = Now - startTime
       Application.DoEvents()
    Loop
    

모호한 주된 이유는 응용 프로그램의 항목 유형에 따라 TeamViewer 또는 Radmin에서이 문제가 알려지기를 바 랐기 때문입니다. IE SQL 버전, COM 포트 및 BW.

미리 감사드립니다.

DiLorenzo 브랜드

확인. 나는 그것을 알아.

기본적으로 문제의 원인은 이러한 원격보기 응용 프로그램이 .NET 응용 프로그램의 UI에 미치는 영향입니다.

내 애플리케이션에는 앱 내의 다양한 스레드에서 업데이트되는 두 개의 텍스트 상자가 있습니다. 다음 코드를 사용하여 텍스트를 업데이트했습니다. .Invoke 메서드가 문제였습니다.

    Delegate Sub SetTextCallback(ByVal [text] As String, ByRef txtHomeActiveDataStream As TextBox, ByVal type As String)
    Public Sub ReceivedText(ByVal [text] As String, ByRef txtHomeActiveDataStream As TextBox, ByVal type As String) 'input from ReadExisting
      Dim receivedString As String = text
      Dim currentText As String

      If txtHomeActiveDataStream.InvokeRequired Then
          Dim x As New SetTextCallback(AddressOf ReceivedText)
          txtHomeActiveDataStream.Invoke(x, New Object() {(text), txtHomeActiveDataStream, type})

      Else
           txtHomeActiveDataStream.Text &= receivedString 
      End If


    End Sub

메서드를 .Invoke에서 .BeginInvoke로 변경하여 응용 프로그램이 중단되는 것을 방지 할 수있었습니다. 이는 .Invoke가 출시되기 전에 UI 로의 포스트 백이 필요하고 TeamViewer가 포스트 백이 UI로 다시 전송되지 않는 방식으로 UI를 잡았 기 때문입니다. BeginInvoke를 사용하면 포스트 백이 무시되므로 TeamViewer에서 더 이상 무기한 중단되지 않습니다.

windbg에 대한 정보에 감사드립니다. 하지만 보내 주신 기사에 따라 실행할 수 없었습니다. 결국 ProcessExplorer를 사용하고 코드가 걸려있는 줄을 찾기 위해 덤프 파일을 만들었습니다. 디버그 모드에서 VS 2013을 사용해 보았지만 디버그에서 실행하는 동안 응용 프로그램이 멈추지 않습니다. 그림을 이동.

입력 해 주셔서 감사합니다. 앞으로 다른 사람에게 도움이되기를 바랍니다. 나는이 문제에 대해 기꺼이 인정하는 것보다 더 많은 시간을 보냈으며 그 문제를 해결하게되어 기쁩니다.

추가 의견이 있으면 알려주십시오.

문제를 해결하기 위해이 게시물을 찾았습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

PictureBox와 함께 Thread.Sleep을 사용하는 동안 Winform이 멈춤

분류에서Dev

Linux 응용 프로그램이 boost :: thread :: join에서 멈춤

분류에서Dev

시작시 기본 응용 프로그램이 멈춤

분류에서Dev

계피와 함께 두 개의 시작 응용 프로그램 아이콘

분류에서Dev

nodejs 응용 프로그램-mongodb 연결이 "ECONNREFUSED"오류와 함께 실패

분류에서Dev

백그라운드 프로세스가 응용 프로그램 vb.net을 중단 함

분류에서Dev

.net 4.5를 사용하도록 만든 응용 프로그램과 함께 응용 프로그램 풀에서 사용하기에 이상적인 .net 버전

분류에서Dev

이미 페이징 된 소스와 함께 Datapager를 사용하는 VB.Net

분류에서Dev

VB.net에서 인증서없이 TLS와 함께 MailKit 사용

분류에서Dev

VB.NET 응용 프로그램에서 FormName.Show () 사용

분류에서Dev

VB.NET 응용 프로그램이 시작될 때 코드 실행

분류에서Dev

vb.net 응용 프로그램에 대한 OutOfMemoryException

분류에서Dev

VB.NET Winform 응용 프로그램 게시

분류에서Dev

VB .net 응용 프로그램에서 날짜 시간 변환

분류에서Dev

vb.net에서 응용 프로그램 지연

분류에서Dev

Vb.Net 퀴즈 응용 프로그램 다중보기

분류에서Dev

vb.net 응용 프로그램 정규식 오류

분류에서Dev

vb.net 2010 콘솔 응용 프로그램 명령 줄 aguments

분류에서Dev

VB.net의 각 루프에 대해 조건문에 멈춤

분류에서Dev

응용 프로그램 아이콘이 DELPHI XE5에 멈춤

분류에서Dev

camera.open ()을 사용할 때 응용 프로그램이 중단 / 멈춤-장치를 다시 시작해야 함

분류에서Dev

VB.NET ADODB.Recordset 및 SQL Server 2019 Latin1_General_100_CI_AI_SC_UTF8 데이터 정렬이 응용 프로그램을 중단 함

분류에서Dev

응용 프로그램 이벤트에서 양식으로 값 전달 (해당 응용 프로그램에 대한이 양식 시작 이벤트) VB.net

분류에서Dev

perl 또는 neko와 함께 64 비트 응용 프로그램의 32 비트 라이브러리 사용

분류에서Dev

마우스 클릭시 콘솔 응용 프로그램이 멈춤

분류에서Dev

대화 상자가 거부되면 PyQt 응용 프로그램이 멈춤

분류에서Dev

MySQL에서 만든 데이터베이스와 함께 Java 응용 프로그램 용 설치 프로그램 패키지를 만드는 방법

분류에서Dev

VB.NET : 멤버와 함께 이벤트 만들기

분류에서Dev

자녀와 함께 C # 프로그램 내에서 다른 응용 프로그램 실행

Related 관련 기사

  1. 1

    PictureBox와 함께 Thread.Sleep을 사용하는 동안 Winform이 멈춤

  2. 2

    Linux 응용 프로그램이 boost :: thread :: join에서 멈춤

  3. 3

    시작시 기본 응용 프로그램이 멈춤

  4. 4

    계피와 함께 두 개의 시작 응용 프로그램 아이콘

  5. 5

    nodejs 응용 프로그램-mongodb 연결이 "ECONNREFUSED"오류와 함께 실패

  6. 6

    백그라운드 프로세스가 응용 프로그램 vb.net을 중단 함

  7. 7

    .net 4.5를 사용하도록 만든 응용 프로그램과 함께 응용 프로그램 풀에서 사용하기에 이상적인 .net 버전

  8. 8

    이미 페이징 된 소스와 함께 Datapager를 사용하는 VB.Net

  9. 9

    VB.net에서 인증서없이 TLS와 함께 MailKit 사용

  10. 10

    VB.NET 응용 프로그램에서 FormName.Show () 사용

  11. 11

    VB.NET 응용 프로그램이 시작될 때 코드 실행

  12. 12

    vb.net 응용 프로그램에 대한 OutOfMemoryException

  13. 13

    VB.NET Winform 응용 프로그램 게시

  14. 14

    VB .net 응용 프로그램에서 날짜 시간 변환

  15. 15

    vb.net에서 응용 프로그램 지연

  16. 16

    Vb.Net 퀴즈 응용 프로그램 다중보기

  17. 17

    vb.net 응용 프로그램 정규식 오류

  18. 18

    vb.net 2010 콘솔 응용 프로그램 명령 줄 aguments

  19. 19

    VB.net의 각 루프에 대해 조건문에 멈춤

  20. 20

    응용 프로그램 아이콘이 DELPHI XE5에 멈춤

  21. 21

    camera.open ()을 사용할 때 응용 프로그램이 중단 / 멈춤-장치를 다시 시작해야 함

  22. 22

    VB.NET ADODB.Recordset 및 SQL Server 2019 Latin1_General_100_CI_AI_SC_UTF8 데이터 정렬이 응용 프로그램을 중단 함

  23. 23

    응용 프로그램 이벤트에서 양식으로 값 전달 (해당 응용 프로그램에 대한이 양식 시작 이벤트) VB.net

  24. 24

    perl 또는 neko와 함께 64 비트 응용 프로그램의 32 비트 라이브러리 사용

  25. 25

    마우스 클릭시 콘솔 응용 프로그램이 멈춤

  26. 26

    대화 상자가 거부되면 PyQt 응용 프로그램이 멈춤

  27. 27

    MySQL에서 만든 데이터베이스와 함께 Java 응용 프로그램 용 설치 프로그램 패키지를 만드는 방법

  28. 28

    VB.NET : 멤버와 함께 이벤트 만들기

  29. 29

    자녀와 함께 C # 프로그램 내에서 다른 응용 프로그램 실행

뜨겁다태그

보관