[R] debug only top level function

Duncan Murdoch murdoch@dunc@n @end|ng |rom gm@||@com
Thu Jun 6 13:38:40 CEST 2019


On 06/06/2019 6:00 a.m., PIKAL Petr wrote:
> Thanks Duncan.
> 
> I think you found it. I have an object called s within my function. I wanted to check it, so I hit "s". This did not bring the object but instead it change behaviour of debug function. I did not find this in help pages nor in R exts or R intro manual. Maybe it would be worth considering to add something about it to debug help page.

It's in the ?browser help page, which is linked from ?debug.

Duncan Murdoch

> 
> Best regards
> Petr
> 
>> -----Original Message-----
>> From: Duncan Murdoch <murdoch.duncan using gmail.com>
>> Sent: Thursday, June 6, 2019 11:11 AM
>> To: PIKAL Petr <petr.pikal using precheza.cz>; r-help using r-project.org
>> Subject: Re: [R] debug only top level function
>>
>> On 06/06/2019 4:55 a.m., PIKAL Petr wrote:
>>> Dear all
>>>
>>> I have a question about debug function. I did not use it for long time but my
>> vague memory tell me, that when I used  debug(myfunction) in past, only
>> myfunction was debugged and browser ignored any embedded function.
>>>
>>> example (simple)
>>>
>>> fff <- function(x) mean(x, na.rm=T)
>>>
>>> when I issue
>>>> debug(fff)
>>>> fff(1:10)
>>> debugging in: fff(1:10)
>>> debug at #1: mean(x, na.rm = T)
>>> Browse[2]>
>>> debugging in: mean(x, na.rm = T)
>>> debug: UseMethod("mean")
>>> Browse[3]>
>>> debugging in: mean.default(x, na.rm = T) ...
>>> it starts debugging mean function. I understand that it is indicated by
>> Browse[n] but it could be quite messy if I have many embedded functions and
>> difficult to follow.
>>>
>>> Can I persuade debug function not to bother with embedded functions (e.g.
>> mean, median, mad, ...) and debug only my top level code?
>>
>> There are several commands available.  Type "help" to see them:
>>
>> n          next
>> s          step into
>> f          finish
>> c or cont  continue
>> Q          quit
>> where      show stack
>> help       show help
>> <expr>     evaluate expression
>>
>>
>> You want "n", and are getting "s".  I believe if you hit Enter without choosing
>> one, it will do the same as the previous time, so you've probably used "s"
>> sometime in the past.
>>
>> Duncan Murdoch
>>
>>>
>>> Best regards
>>> Petr
>>>
>>>> sessionInfo()
>>> R Under development (unstable) (2018-03-07 r74369)
>>> Platform: x86_64-w64-mingw32/x64 (64-bit) Running under: Windows 10
>>> x64 (build 17763)
>>>
>>> Matrix products: default
>>>
>>> locale:
>>> [1] LC_COLLATE=Czech_Czechia.1250  LC_CTYPE=Czech_Czechia.1250 [3]
>>> LC_MONETARY=Czech_Czechia.1250 LC_NUMERIC=C [5]
>>> LC_TIME=Czech_Czechia.1250
>>>
>>> attached base packages:
>>> [1] stats     datasets  utils     grDevices graphics  methods   base
>>>
>>> other attached packages:
>>> [1] MASS_7.3-49     readxl_1.0.0    lattice_0.20-35 fun_0.1
>>>
>>> loaded via a namespace (and not attached):
>>> [1] Rcpp_0.12.16     cellranger_1.1.0 grid_3.5.0       plyr_1.8.4
>>>    [5] gtable_0.2.0     scales_0.5.0     ggplot2_2.2.1    pillar_1.2.1
>>>    [9] rlang_0.2.0      lazyeval_0.2.1   rpart_4.1-13     tools_3.5.0
>>> [13] munsell_0.4.3    compiler_3.5.0   colorspace_1.3-2 tibble_1.4.2
>>>>
>>> ______________________________________________
>>> R-help using r-project.org mailing list -- To UNSUBSCRIBE and more, see
>>> https://stat.ethz.ch/mailman/listinfo/r-help
>>> PLEASE do read the posting guide
>>> http://www.R-project.org/posting-guide.html
>>> and provide commented, minimal, self-contained, reproducible code.
>>>
> 
> Osobní údaje: Informace o zpracování a ochraně osobních údajů obchodních partnerů PRECHEZA a.s. jsou zveřejněny na: https://www.precheza.cz/zasady-ochrany-osobnich-udaju/ | Information about processing and protection of business partner’s personal data are available on website: https://www.precheza.cz/en/personal-data-protection-principles/
> Důvěrnost: Tento e-mail a jakékoliv k němu připojené dokumenty jsou důvěrné a podléhají tomuto právně závaznému prohláąení o vyloučení odpovědnosti: https://www.precheza.cz/01-dovetek/ | This email and any documents attached to it may be confidential and are subject to the legally binding disclaimer: https://www.precheza.cz/en/01-disclaimer/
>



More information about the R-help mailing list