状況
開発者コンソールはエラー状態に続ける。https://YOURORGANISATINO.my.salesforce.com/_ui/common/apex/debug/ApexCSIPageを使って別のタブで開いても解決できない。
対策
上記状況の場合、開発者コンソールをリセットしなければならない。次はリセット手順(ブラウザはchromeです)を紹介します。
リセット手順
- IDEWorkspace IDの取得
1-1. 開発者コンソール画面を開いてる状況のままで、DevToolsを開きます。
1-2. 「Network」タブをクリックして、「Filter」に「IDEWorkspace」を入力して、必要なリクエストしか絞り込みように設定します。
1-3. 開発者コンソール画面を再読み込んで、絞り込んだリクエストに18桁のIDをメモします。これはIDEWorkspace IDです。
2. 開発者コンソール状況確認(必要なら)
2-1. 下記コードを任意なApexカスタマイズコントローラに貼り付けます。コード中のIDEWorkspace IDを1-3で取得したIDEWorkspace IDに入り替えて
system.debug('session id: ' + userinfo.getSessionId());
Http h = new Http();
HttpRequest req = new HttpRequest();
req.setEndpoint(Url.getOrgDomainUrl().toExternalForm() + \'/services/data/v48.0/tooling/sobjects/IDEWorkspace/IDEWorkspace ID\');
req.setMethod('GET');
req.setHeader('Authorization', 'Bearer ' + UserInfo.getSessionId());
HttpResponse res = h.send(req);
System.debug(res.getStatusCode());
System.debug(res);
2-2、該当コードを所有しているApexを正常の方法(画面上のボタンをクリックするなど)で実行すれば、ログ中に情報を出力できます。
3. 開発者コンソールのリセット
2の開発者コンソール状況確認と同じフローで実施して、なお2-1のコード中の「GET」を「DELETE」
system.debug('session id: ' + userinfo.getSessionId());
Http h = new Http();
HttpRequest req = new HttpRequest();
req.setEndpoint(Url.getOrgDomainUrl().toExternalForm() + \'/services/data/v48.0/tooling/sobjects/IDEWorkspace/IDEWorkspace ID\');
req.setMethod('DELETE');
req.setHeader('Authorization', 'Bearer ' + UserInfo.getSessionId());
HttpResponse res = h.send(req);
System.debug(res.getStatusCode());
System.debug(res);