We noticed that our app would behave differently during profiling runs and trigger errors. I'm not totally sure what the underlying issue is but I was able to put together a example app to reproduce. As far as I can tell it has to do with how devtools is overriding `console.warn` and `console.error`. In that case `describeNativeComponentFrame()` will call a function component with no args. This works fine as the error is caught in `describeNativeComponentFrame()` but in it looks like a `useEffect()` that accesses those `props` is still triggered and it does not expect `props` to be undefined. 

I realize that having `props` in the dependencies array of the `useEffect` doesn't really make sense but I still think it probably shouldn't error.

React version: 16.13.1
React devtools version: 4.8.2 

## Steps To Reproduce

1. Open link to code example below
2. Click "Open In New Window" from the "Browser" tab
3. Observe a simple app with only `<h1>Hello World</h1>`
3. Open the React devtools Profiler tab
4. Click "Reload and start profiling"
5. Observe an error `Uncaught TypeError: Cannot read property 'foo' of undefined`

Link to code example:

https://codesandbox.io/s/cool-sun-wdrry

## The current behavior

![wdrry csb app_](https://user-images.githubusercontent.com/682132/94301311-5b1b7900-ff38-11ea-9c5d-335e2e6f35b9.png)

## The expected behavior

The app should work as it while not profile. It should render a `<h1>Hello World</h1>`

BLOCK_SYMBOL_STRING,
  FORWARD_REF_NUMBER,
  FORWARD_REF_SYMBOL_STRING,
  LAZY_NUMBER,
  LAZY_SYMBOL_STRING,
  MEMO_NUMBER,
  MEMO_SYMBOL_STRING,
  SUSPENSE_NUMBER,
  SUSPENSE_SYMBOL_STRING,
  SUSPENSE_LIST_NUMBER,
  SUSPENSE_LIST_SYMBOL_STRING,
} from './ReactSymbols';
import {disableLogs, reenableLogs} from 'shared/ConsolePatchingDev';
let prefix;
export function describeBuiltInComponentFrame(
  name: string,
  source: void | null | Source,
  ownerFn: void | null | Function,
): string {
  if (prefix === undefined) {
    
    try {
      throw Error();
    } catch (x) {
      const match = x.stack.trim().match(/\n( *(at )?)/);
      prefix = (match && match[1]) || '';
    }
  }
  
  return '\n' + prefix + name;