Ошибка при установке пакета & ldquo; Rcpp & rdquo; в R [дубликат]

Вы можете, конечно, найти объекты задачи в куче и начать анализировать их вручную с помощью команд SOS, например. как это начало сеанса отладки:

0:013> !dumpheap -stat -type Task
Statistics:
      MT    Count    TotalSize Class Name
[...]
71e03f28        4          160 System.Threading.Tasks.Task
Total 28 objects

0:013> !dumpheap -mt 71e03f28 
 Address       MT     Size
022bd900 71e03f28       40       
[...]

0:013> !do 022bd900
Name:        System.Threading.Tasks.Task
MethodTable: 71e03f28
EEClass:     719cd6e0
Size:        40(0x28) bytes
File:        C:\Windows\Microsoft.Net\assembly\GAC_32\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll
Fields:
      MT    Field   Offset                 Type VT     Attr    Value Name
71df1638  40019cd       1c         System.Int32  1 instance        3 m_taskId
71defb44  40019ce        4        System.Object  0 instance 022bd8e0 m_action
[...]

0:013> !DumpObj 022bd8e0
Name:        System.Action
MethodTable: 71e0588c
EEClass:     719357b8
Size:        32(0x20) bytes
File:        C:\Windows\Microsoft.Net\assembly\GAC_32\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll
Fields:
      MT    Field   Offset                 Type VT     Attr    Value Name
71defb44  40002b5        4        System.Object  0 instance 022bd8e0 _target
71defb44  40002b6        8        System.Object  0 instance 00000000 _methodBase
71df2bdc  40002b7        c        System.IntPtr  1 instance  4b00e64 _methodPtr
71df2bdc  40002b8       10        System.IntPtr  1 instance   4e0c30 _methodPtrAux
[...]

0:013> !u 4e0c30 
Unmanaged code
004e0c30 e833df8372      call    clr!PrecodeFixupThunk (72d1eb68)
[...]

И теперь он начинает становиться громоздким ...

Самый удобный способ (в WinDbg) с моей точки зрения - использовать !TaskTriage команда Mex (Github) :

0:013> !TaskTriage
Normal Mode - not showing successful Tasks
Address    Target     Status                        Method                             Exceptions
==================================================================================================
022bd900 | 022bd8e0 | TASK_STATE_DELEGATE_INVOKED | Demo.Program.printMessage()     |     
022bd974 | 022bd868 | TASK_STATE_DELEGATE_INVOKED | Demo.Program+<>c.
b__0_0() | 022bd9bc | 022bd868 | TASK_STATE_STARTED | Demo.Program+<>c.
b__0_1() | 022bda04 | 022bd868 | TASK_STATE_STARTED | Demo.Program+<>c.
b__0_2() | ================================================================================================== Address Target Status Method Exceptions

Идея использования WinDbg над Visual Studio хороша, поскольку VS2015 и VS2017 не смогут дать те же результаты из файла дампа:

5
задан ekstroem 22 September 2015 в 16:55
поделиться

1 ответ

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

Решение, которое я нашел до сих пор, - это вернуться к пути к вашей библиотеке т.е. местоположение на вашем компьютере, где установлен пакет (C:\Users\user_name\Documents\R\win-library\R_version - путь по умолчанию в Windows) удалите соответствующую папку пакета, а затем снова установите пакет, как обычно, используя:

install.packages('rjson')

И это

Или вы могли бы сделать это программно в соответствии с комментарием @Thomas:

#get list of installed packages
inst_packages <-  installed.packages()

if ("rjson" %in% inst_packages[, 1]) { 
     #uninstalls package
     remove.packages("rjson")
     #re-installs package
     install.packages("rjson") 
} 

или даже лучше просто использовать:

if ("rjson" %in% inst_packages[, 1]) update.packages("rjson")
5
ответ дан LyzandeR 22 August 2018 в 19:17
поделиться
  • 1
    Вы также можете добиться этого программно: if ("rjson" %in% x[,"Package"]) { remove.packages("rjson"); install.packages("rjson") } или даже лучше использовать if ("rjson" %in% x[,"Package"]) update.packages("rjson") – Thomas 22 September 2015 в 19:16
  • 2
    Это даже лучше @Thomas спасибо. Я добавлю это в свой ответ. – LyzandeR 22 September 2015 в 19:32
Другие вопросы по тегам:

Похожие вопросы: