PyCharm进行交互式shell断点调试

最近在跑代码时候遇到一个问题:在 Linux 的 shell 运行代码,但是代码出了点问题, shell 中无法进行调试,只能借助 PyCharm 进行调试,于是乎记录 PyCharm 如何进行交互式 shell 断点调试。

举个例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
python run_ddie.py \
--task_name MRPC \
--model_type bert \
--data_dir new_tsv_dir \
--model_name_or_path scibert_model \
--per_gpu_train_batch_size 32 \
--num_train_epochs 3. \
--dropout_prob .1 \
--weight_decay .01 \
--fp16 \
--do_train \
--do_eval \
--do_lower_case \
--max_seq_length 128 \
--use_cnn \
--conv_window_size 5 \
--pos_emb_dim 10 \
--activation gelu \
--desc_conv_window_size 3 \
--desc_conv_output_size 20 \
--molecular_vector_size 50 \
--gnn_layer_hidden 5 \
--gnn_layer_output 1 \
--gnn_mode sum \
--gnn_activation gelu \
--output_dir output_dir \
--fingerprint_dir fingerprint_dir

在 Debug 之前,我们需要先设置以上参数:

点击工具栏的 Run 然后点击 Edit configurations。

在跳出来的弹窗中把一下参数复制到 Parameters,然后点击 Apply 即可。

1
--task_name MRPC --model_type bert --data_dir new_tsv_dir --model_name_or_path scibert_model --per_gpu_train_batch_size 32 --num_train_epochs 3. --dropout_prob .1 --weight_decay .01 --fp16 --do_train --do_eval --do_lower_case --max_seq_length 128 --use_cnn --conv_window_size 5 --pos_emb_dim 10 --activation gelu --desc_conv_window_size 3 --desc_conv_output_size 20 --molecular_vector_size 50 --gnn_layer_hidden 5 --gnn_layer_output 1 --gnn_mode sum --gnn_activation gelu --output_dir output_dir --fingerprint_dir fingerprint_dir

接下来开始调试,需要在run_ddie.py中需要调试的地方先打上断点,然后开始 Debug:

然后就 OK 啦。


PyCharm进行交互式shell断点调试
https://excelius.xyz/pycharm进行交互式shell断点调试/
作者
Ther
发布于
2021年10月30日
许可协议