Можно ли запустить исполняемый файл (Microsoft) P GO на другом (производственном) компьютере? - PullRequest
0 голосов
/ 09 марта 2020

Основной сценарий, который я хочу описать, - это сценарий, который просто не может быть запущен на моей машине разработки (недостаточно памяти, и я не хочу, чтобы он менялся, поскольку это сократит срок службы моего SSD, если я оставлю его включенным на длительные отрезки времени). времени, и это заняло бы вечность).

Я попытался скопировать инструментированный двоичный файл на рабочий сервер и сначала получил эту ошибку:

The program can't start because pgort140.DLL is missing from your computer.
Try reinstalling the program to fix this problem.

Я обнаружил DLL на C:\Program Files (x86)\Microsoft SDKs\UWPNuGetPackages\runtime.win10-x64.microsoft.net.native.compiler\2.2.7-rel-27913-00\tools\x64\ilc\tools64 Итак Я скопировал все содержимое этого каталога в тот же каталог, что и исполняемый файл для профилирования. Ошибка ушла, но приложение работает неправильно. Это занимает много времени (значок или окно не появляются) ... Глядя на процесс с помощью ProcessExplorer, я вижу, что он работает, и он использует огромный объем памяти, который постоянно увеличивается. В конце концов он падает.

Это пример стека до его сбоя (похоже, что он что-то делает рекурсивно):

ntoskrnl.exe!KiCpuId+0xaa
ntoskrnl.exe!ObfReferenceObject+0x792
ntoskrnl.exe!KeWaitForSingleObject+0x1a3
ntoskrnl.exe!CcGetFlushedValidData+0xc34
ntoskrnl.exe!KeInsertQueueApc+0x605
ntoskrnl.exe!KiCpuId+0x2549
ntdll.dll!RtlInitializeResource+0x2f5
ntdll.dll!KiUserExceptionDispatcher+0x2e
ntdll.dll!RtlImageDirectoryEntryToData+0xe4
ntdll.dll!RtlEnterCriticalSection+0xd1
ntdll.dll!_chkstk+0x9d
ntdll.dll!RtlInitializeResource+0x53a
ntdll.dll!KiUserExceptionDispatcher+0x2e
ntdll.dll!RtlImageDirectoryEntryToData+0xe4
ntdll.dll!RtlEnterCriticalSection+0xd1
ntdll.dll!_chkstk+0x9d
ntdll.dll!RtlInitializeResource+0x53a
ntdll.dll!KiUserExceptionDispatcher+0x2e
ntdll.dll!RtlImageDirectoryEntryToData+0xe4
ntdll.dll!RtlEnterCriticalSection+0xd1
ntdll.dll!_chkstk+0x9d
ntdll.dll!RtlInitializeResource+0x53a
ntdll.dll!KiUserExceptionDispatcher+0x2e
ntdll.dll!RtlImageDirectoryEntryToData+0xe4
ntdll.dll!RtlEnterCriticalSection+0xd1
ntdll.dll!_chkstk+0x9d
ntdll.dll!RtlInitializeResource+0x53a
ntdll.dll!KiUserExceptionDispatcher+0x2e
ntdll.dll!RtlImageDirectoryEntryToData+0xe4
ntdll.dll!RtlEnterCriticalSection+0xd1
ntdll.dll!_chkstk+0x9d
ntdll.dll!RtlInitializeResource+0x53a
ntdll.dll!KiUserExceptionDispatcher+0x2e
ntdll.dll!RtlImageDirectoryEntryToData+0xe4
ntdll.dll!RtlEnterCriticalSection+0xd1
ntdll.dll!_chkstk+0x9d
ntdll.dll!RtlInitializeResource+0x53a
ntdll.dll!KiUserExceptionDispatcher+0x2e
ntdll.dll!RtlImageDirectoryEntryToData+0xe4
ntdll.dll!RtlEnterCriticalSection+0xd1
ntdll.dll!_chkstk+0x9d
ntdll.dll!RtlInitializeResource+0x53a
ntdll.dll!KiUserExceptionDispatcher+0x2e
ntdll.dll!RtlImageDirectoryEntryToData+0xe4
ntdll.dll!RtlEnterCriticalSection+0xd1
ntdll.dll!_chkstk+0x9d
ntdll.dll!RtlInitializeResource+0x53a
ntdll.dll!KiUserExceptionDispatcher+0x2e
ntdll.dll!RtlImageDirectoryEntryToData+0xe4
ntdll.dll!RtlEnterCriticalSection+0xd1
ntdll.dll!_chkstk+0x9d
ntdll.dll!RtlInitializeResource+0x53a
ntdll.dll!KiUserExceptionDispatcher+0x2e
ntdll.dll!RtlImageDirectoryEntryToData+0xe4
ntdll.dll!RtlEnterCriticalSection+0xd1
ntdll.dll!_chkstk+0x9d

Кажется, он не заканчивается переполнением стека размер стека остается примерно таким же до того, как он выйдет из строя.

Моя машина разработки - машина Windows 10. Рабочий сервер работает Windows Server 2008 R2. Я могу запустить приложение на своей машине для разработки без проблем (за исключением точного сценария, который является наиболее важным). Для этого потребовалось бы много усилий, чтобы уменьшить производственный сценарий.

Могу ли я загрузить другой набор инструментов для сервера или профилирование на другом компьютере просто не поддерживается?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...